pekfos Temat założony przez niniejszego użytkownika |
[WinAPI] DEFPUSHBUTTON nie reaguje » 2012-04-23 19:14:37 Mam taki dialog: DLG_CHAT DIALOG DISCARDABLE 5, 5, 250, 180 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Chat" FONT 8, "MS Sans Serif" { EDITTEXT ID_EDIT_LOG, 2, 2, 248, 164, ES_AUTOVSCROLL | ES_MULTILINE | ES_READONLY | WS_VSCROLL EDITTEXT ID_EDIT_MSG, 2, 168, 236, 12 DEFPUSHBUTTON ">", ID_SEND_BUTTON, 238, 168, 10, 10 } HWND tmp = CreateDialog( GetModuleHandle( NULL ), MAKEINTRESOURCE( DLG_CHAT ), hwnd, ChatDlg ); ShowWindow( tmp, SW_SHOW ); Nie ma nigdzie flagi ES_WANTRETURN , a jednak po wpisaniu tekstu do ID_EDIT_MSG i naciśnięciu Entera, ID_SEND_BUTTON nie zostaje "wciśnięty". Co tu jest nie tak? |
|
xevuel |
» 2012-04-23 19:19:41 Z tego co mi wiadomo, "DEFPUSHBUTTON" oznacza przycisk domyślnie "wciśnięty" przy starcie dialogu. Ty przy wpisywaniu tekstu do Edita przekazujesz sterowanie editowi, więc przycisk nie ma jak zareagować. Musisz użyć subclassingu czy superclassingu i sprawdzać, czy Enter nie został naciśnięty. Nie jestem pewny na 100%, ale ja właśnie musiałem tak kombinować w swojej aplikacji. |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2012-04-23 19:29:05 Z dokumentacji ES_WANTRETURN : If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. |
Czyli tak jak np. w dialogach pytających o hasło. Wpisuje się je i Enter :P |
|
DejaVu |
» 2012-04-23 19:32:28 Może DEFPUSHBUTTON masz źle oprogramowany (strzelam)? Jak klikniesz DEFPUSHBUTTON to wszystko działa jak trzeba? |
|
xevuel |
» 2012-04-23 19:32:35 W swojej innej aplikacji znalazłem coś takiego: 300 DIALOG DISCARDABLE 150, 100, 160, 120 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Połącz" FONT 8, "MS Sans Serif" { LTEXT "IP serwera: ", -1, 10, 10, 80, 10 EDITTEXT 1001, 10, 25, 130, 13, WS_TABSTOP LTEXT "Twój nick: ", -1, 10, 50, 80, 10 EDITTEXT 1002, 10, 65, 130, 13, WS_TABSTOP DEFPUSHBUTTON "OK", IDOK, 90, 90, 45, 17 }
I to mi działa. Może styl WS_TABSTOP? |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2012-04-23 19:34:04 @DejaVu: Przy jawnym kliknięciu wszystko śmiga. |
|
DejaVu |
» 2012-04-23 19:38:06 |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2012-04-23 19:47:31 Szukałem już pomocy przy tym przykładzie ale bez skutku. //Dodatkowo w kontrolce ID_EDIT_LOG nie działa '\n' (Jak tekst dojdzie do końca to się załamuje, ale tylko wtedy). |
|
« 1 » 2 |