Re: DXライブラリでダイアログのエディットボックスの件 ( No.1 ) |
- 名前:通 日時:2008/09/05 22:14
>OKボタンやキャンセルボタンを押しても反応しない。
反応するようにプロシージャ書かないといけません
>日本語入力ができない(全角入力が出来ない)
DXライブラリではIMEとか使えた気がします。
|
Re: DXライブラリでダイアログのエディットボックスの件 ( No.2 ) |
- 名前:TKOZ 日時:2008/09/06 16:07
問題その1を解決しようと思い、下のように
プログラムを修正したのですが、エディットボックス
中にカーソルでクリックするとダイアログボックスが
消えてしまいました。
/*----------------------------------------------------------------*
* ダイアログプロシージャ
*----------------------------------------------------------------*/
LRESULT CALLBACK DialogProc( HWND hWnd, UINT uMsg, UINT wParam, LONG lParam)
{
switch(uMsg)
{
case WM_COMMAND:
switch(wParam)
{
MSGDISPATCH(IDOK,OnClose);
}
MSGDISPATCH(WM_CLOSE,OnClose);
}
return 0;
}
>DXライブラリでは、IMEとか使えた気がします。
関数リファレンスをよく見たのですが、
どれもエディットボックスに入力するための
関数ではないように思えます。
|
Re: DXライブラリでダイアログのエディットボックスの件 ( No.3 ) |
- 名前:通 日時:2008/09/06 16:37
>case WM_COMMAND:
> switch(wParam)
> {
> MSGDISPATCH(IDOK,OnClose);
> }
>MSGDISPATCH(WM_CLOSE,OnClose);
WM_COMMANDがbreakされてません。
MSGDISPATCH(IDOK,OnClose);を
処理した後、MSGDISPATCH(WM_CLOSE,OnClose);が
処理されているのではないですか?
>関数リファレンスをよく見たのですが、
言い方が悪かったですね。
IMEを併用することが出来たのではないか
という意味です。DXライブラリが実装している
IMEの機能を使うという意味では有りません。
親のダイアログはDXライブラリに登録されて、
いますがエディットボックスのハンドルは
DXライブラリ側に登録されていないので、
自力でIDからウィンドウハンドルを処理するしか
無いように思います。
#やったこと無いので実はDXライブラリの関数でも
#出来るのかも知れませんが。。。
|
Re: DXライブラリでダイアログのエディットボックスの件 ( No.4 ) |
- 名前:優柔不断 日時:2008/09/07 00:56
Dxライブラリでは、IMEがデフォルトでoffになっています。
これをonにするには、SetUseIMEFlag()関数にTRUEを渡せばいいはずです。
|
Re: DXライブラリでダイアログのエディットボックスの件 ( No.5 ) |
- 名前:TKOZ 日時:2008/09/07 14:39
初めまして、優柔不断さん
>Dxライブラリでは、IMEがデフォルトでoffになっています。
>これをonにするには、SetUseIMEFlag()関数にTRUEを渡せばいいはずです。
なんとか、うまくいきました。ありがとうございます。
|