Code:
switch(message) {
case WM_CREATE:
//define buttons
...
//Make Editwin
hwndEditWin=CreateWindow(TEXT("edit"),NULL,
WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_BORDER | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL,
0,0,0,0,hwnd, (HMENU) ID_EDITWIN, ((LPCREATESTRUCT) lParam)->hInstance,NULL);
OldEditWin=(WNDPROC)SetWindowLong(hwndEditWin,GWL_WNDPROC,(LONG) EditWinProc);
...
case WM_COMMAND:
//Reactions to the panel
if(lParam) {
switch(LOWORD(wParam)) {
case ID_START:
if( (int)SendMessage(hwndPanel[ID_OUTPUTDETMIN],BM_GETCHECK,0,0L) )
strcat(szExternalProg,"-o- ");
else if( (int)SendMessage(hwndPanel[ID_OUTPUTDETMED],BM_GETCHECK,0,0L) )
strcat(szExternalProg,"-o ");
else if( (int)SendMessage(hwndPanel[ID_OUTPUTDETMAX],BM_GETCHECK,0,0L) )
strcat(szExternalProg,"-o+ ");
else
MessageBox(hwnd,TEXT("Fehler. Ausführlichkeit d. Ausgabe nicht bestimmt."),szAppName,MB_OK | MB_ICONSTOP);
if( (int)SendMessage(hwndPanel[ID_OUTPUTFORMCSV],BM_GETCHECK,0,0L) )
strcat(szExternalProg,"-f csv ");
else if( (int)SendMessage(hwndPanel[ID_OUTPUTFORMHTML],BM_GETCHECK,0,0L) )
strcat(szExternalProg,"-f html ");
else
MessageBox(hwnd,TEXT("Fehler. Ausgabeformat nicht bestimmt."),szAppName,MB_OK | MB_ICONSTOP);
system(szExternalProg);
// Nachricht, dass die ausgabe des EditWin noch nicht implementiert ist direkt ins editwin schreiben
SetWindowText(hwndEditWin,TEXT("Die Ausgabe der Zusammenfassung befindet sich in smt_out.csv, resp .html, da das EditWindow noch nicht voll funktionsfähig ist."));
//Für erneutes drücken von start vorbereiten
strcpy(szExternalProg,"smt ");
return 0;
case ID_END:
if(HIWORD(wParam)==BN_CLICKED)
SendMessage(hwnd,WM_CLOSE,0,0);
return 0;
case ID_EDITWIN:
MessageBox(hwnd,TEXT("Edit control is sending messages."),szAppName,MB_OK | MB_ICONSTOP);
switch(HIWORD(wParam)) {
case EN_UPDATE:
bNeedSave = TRUE;
return 0;
case EN_ERRSPACE:
case EN_MAXTEXT:
MessageBox(hwnd,TEXT("Edit control out of space."),szAppName,MB_OK | MB_ICONSTOP);
return 0;
}
case ID_OUTPUTFORMCSV:
SendMessage(hwndPanel[ID_OUTPUTFORMHTML],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTFORMCSV],BM_SETCHECK,1,0L);
return 0;
case ID_OUTPUTFORMHTML:
SendMessage(hwndPanel[ID_OUTPUTFORMCSV],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTFORMHTML],BM_SETCHECK,1,0L);
return 0;
case ID_OUTPUTDETMIN:
SendMessage(hwndPanel[ID_OUTPUTDETMAX],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMED],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMIN],BM_SETCHECK,1,0L);
return 0;
case ID_OUTPUTDETMED:
SendMessage(hwndPanel[ID_OUTPUTDETMIN],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMAX],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMED],BM_SETCHECK,1,0L);
return 0;
case ID_OUTPUTDETMAX:
SendMessage(hwndPanel[ID_OUTPUTDETMIN],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMED],BM_SETCHECK,0,0L);
SendMessage(hwndPanel[ID_OUTPUTDETMAX],BM_SETCHECK,1,0L);
return 0;
}
}
else switch(LOWORD(wParam)) {
//Reactions to the Menu
case ID_DATEI_NEU:
if(bNeedSave && (IDCANCEL == AskAboutSave(hwnd,szTitleName)))
return 0;
SetWindowText(hwndEditWin,TEXT("\0"));
szFileName[0] = '\0';
szTitleName[0] = '\0';
DoCaption(hwnd,szTitleName);
bNeedSave = FALSE;
return 0;
case ID_DATEI_FFNEN:
case ID_DATEI_SPEICHERN:
...
}
return 0;
.....
.....
is it because i'm giving the edit win another procedure to run for the keybord interface? (looking like the following)