2010-12-01 7 views
0

私はWindows Mobile 5上でシンプルなUIアプリケーションを作成していますが、エディットボックス全体を編集ボックスにバックカラーで表示したいのですが、アプローチ....... 私は編集コントロールとsetBkColor()を呼び出すためのウィンドウイベントをキャッチするたびに、編集エリア全体ではなく、指定された色のテキストエリアのみを表示します。win32:ウィンドウ上のテキスト領域に黒色のエディットボックスを表示するモバイル5

ユーザが編集ボックスにデータを入力したときにユーザに提示されたウィンドウが表示されないときに、そのユーザに表示される色を指定します。

regdsをMFCない そのネイティブのWin32アプリケーションコード再び、私は解決策を教えてくださいSuhail

答えて

1

SetBkColorのみテキストの背景色を設定します。コントロール全体の背景を変更するには、WM_CTLCOLOREDITメッセージを処理して、選択したブラシを返す必要があります。あなたはこのようなあなたのWndProcでこれを行うことができます: - テキストます透明の背景モードを設定することにより

case WM_CTLCOLOREDIT: 
    if ((HWND)lParam == hEdit) { 
    HDC hDC = (HDC)wParam; 
    SetBkMode(hDC, TRANSPARENT); 
    return (LRESULT)GetStockObject(BLACK_BRUSH); // or any other brush you want 
    } 
    break; 

hEditを仮定すると、あなたのエディットコントロールのハンドルがある)、あなたは別のSetBkColor呼び出しを必要としませんバックグラウンド上に透過的に塗られます。

関連する問題