プログラムで色のブロックを作成するにはどうすればよいですか?私は答えのためのMSDNのドキュメントを見てきましたが、それはそこにあるようではありません。私はちょうど今のところ場所の色のブロックを作成できるようにする必要があります。 (私はすでにWM_CREATE
がどのように働いているのか、そしてWndProc
に物を実装する方法を知っています)WINAPIで色のブロックを作成する
答えて
色をつけてrectを作成する角度または任意の形状を入力してください。 この例は、どのように表示するかです。
**あなたは、ウィンドウの上に長方形を描く意味するか、あなたのウィンドウプロシージャに
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDc = BeginPaint(hWnd, &ps);
HBRUSH hBrush = CreateSolidBrush(RGB(90, 50, 120));
RECT rct = {100, 100, 300, 200};
FillRect(hDc, &rct, hBrush);
EndPaint(hWnd, &ps);
DeleteObject(hBrush); // freeing resource to avoid memory leak
}
break;
これはあまり長く続きません。次の 'WM_PAINT'では、あなたのものと交差するクリッピング矩形で、それは歴史になります。どのように処理したかを表示したい場合は、正しく実行します(つまり、レンダリングコードを 'WM_PAINT'ハンドラに入れます)。 – IInspectable
WM_PAINTを処理する必要があります。その後、BeginPaintに電話し、さまざまな機能を使用して描画し、最後にEndPaintを呼び出します。
長方形を描画するには、FillRectを使用できます。ここ
詳細:導かれた例も利用可能である
https://msdn.microsoft.com/en-us/library/windows/desktop/dd162759(v=vs.85).aspx
:基本的に
https://msdn.microsoft.com/en-us/library/windows/desktop/ff381401(v=vs.85).aspx
:カスタムブラシを作成することができ
switch (uMsg)
{
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
// All painting occurs here, between BeginPaint and EndPaint.
FillRect(hdc, &ps.rcPaint, (HBRUSH) (COLOR_WINDOW+1));
EndPaint(hwnd, &ps);
}
return 0;
}
@kitchikあなたの例では、あなたが質問していないクライアントエリア全体をペイントしています。直角または楕円または任意の形状を作成し、カスタムカラーで色付けしてください。 – Raindrop7
- 1. WinAPIでDLLを作成する
- 2. WINapiで「パネル」を作成する
- 3. 異なる背景色ブロックと異なる色相ブロックを持つナビゲーションバーブロックを作成したい
- 4. WinAPIのオブジェクト指向ラッパーの作成
- 5. Silverlightでテキストのブロックを作成する
- 6. WINAPIを使用してファイルを作成する方法
- 7. 背景色ブロックが異なる水平ナビゲーションバーを作成する方法
- 8. 誰がhadoopでブロックのブロックIDを作成しますか?
- 9. asciidoctorjプラグインで複数のブロックを作成
- 10. tryブロックにオブジェクトを作成する
- 11. ランダムな色のブロック
- 12. コード内のブロックへのブロック接続のブロックの作成
- 13. 背景色のdivを作成する
- 14. コードイグナイターでのブロック/モジュールの作成
- 15. Android Studioブロックでのアニメーターファイルの作成
- 16. PL/SQLでの匿名ブロックの作成
- 17. WinAPI:指定されたクライアント領域サイズのウィンドウを作成する
- 18. は完了ブロックでカスタムメソッドを作成
- 19. Magentoで新しいブロックを作成
- 20. C#でウェブページをブロックするアプリケーションを作成する
- 21. パスワードでアプリケーションのインストールをブロックするアプリケーションの作成方法
- 22. XCodeで青色のフォルダを作成
- 23. feathersjでユーザーの作成をブロックするには
- 24. prestashopでCMSブロックのフックを作成する方法
- 25. ブロック/ループを生成してリップルキャリー加算器を作成する
- 26. WinApi - 標準的な背景色を取得
- 27. サイズの配列を作成する方法2^16ブロックを256バイトで構成
- 28. WINAPI
- 29. matlabでブロック三重対角行列を作成する
- 30. 入力バイトストリームでreadInt()ブロックを作成する方法は?
をこのコードを置きますか? – kichik
@kichikはい。基本的に思えるかもしれませんが、1週間前のように学び始めました。 – Creep2DJ
[C++でFillRect()を使用する]の複製があります。(http://stackoverflow.com/questions/16110527/using-fillrect-in-c) –