創作內容

0 GP

CreateWindow (TEXT ("static") 換文字跟背景顏色

作者:茄子熊│2012-05-30 09:44:07│巴幣:0│人氣:1179

#include <windows.h>


const int ID_MYBUTTON = 60001;
const int ID_STATIC = 60002;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

/* ************************************
* 功能顯示一個視窗
**************************************/
int WINAPI WinMain(HINSTANCE hinstance,
                             HINSTANCE hPrevInstance,
                             LPSTR lpCmdLine,
                             int nCmdShow)
{     
    WNDCLASSEX wcx;         // 視窗類
    HWND hwnd;              //  視窗處理
    MSG msg;               // 訊息    
   
    // 填充視窗類的資料結構
    wcx.cbSize = sizeof(wcx);// 結構體的大小
    wcx.style = CS_HREDRAW | CS_VREDRAW;    // 樣式:大小改變時重繪介面
    wcx.lpfnWndProc = WndProc; // 視窗訊息處理函數
    wcx.cbClsExtra = 0;           // 不使用類記憶體
    wcx.cbWndExtra = 0;          // 不使用視窗記憶體
    wcx.hInstance = hinstance;// 所屬的應用程式實例處理
    wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);  // 圖示:使用預設值
    wcx.hCursor = LoadCursor(NULL, IDC_ARROW);// 遊標:使用預設值
    wcx.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH);      // 背景:白色
    wcx.lpszMenuName =  NULL;  // 選單:不使用
    wcx.lpszClassName = TEXT("MainWClass");// 視窗類名
wcx.hIconSm = (HICON)LoadImage(hinstance,// 小圖示
         MAKEINTRESOURCE(5),
         IMAGE_ICON,
         GetSystemMetrics(SM_CXSMICON),
         GetSystemMetrics(SM_CYSMICON),
         LR_DEFAULTCOLOR);

    // 註冊視窗類
    if(!RegisterClassEx(&wcx))
    {
          return 1;
    }

      // 建立視窗
      hwnd = CreateWindow(
          TEXT("MainWClass"),       // 視窗名
          TEXT("Test"),            // 視窗標題
         WS_OVERLAPPEDWINDOW,// 視窗樣式  
         100,      // 水準位元置X:使用預設值
         100,      // 垂直位元置Y:使用預設值
         640,       // 寬度:使用預設值
         480,       // 高度:使用預設值
         (HWND) NULL,         // 父視窗:無
         (HMENU) NULL,        // 選單:使用視窗類的選單
         hinstance,           // 應用程式實例處理
         (LPVOID) NULL);      // 視窗建立時資料:無

        if (!hwnd)
        {
               return 1;
         }
         // 顯示視窗
         ShowWindow(hwnd, nCmdShow);
         UpdateWindow(hwnd);

              // 訊息迴圈
while (GetMessage(&msg, NULL, 0, 0))
{  
TranslateMessage(&msg);
DispatchMessage(&msg);
}


    return msg.wParam;

}
/* ************************************
* WndProc
* 功能視窗訊息處理函數,
        對所有的訊息都使用NULL處理函數
**************************************/

LRESULT CALLBACK WndProc(HWND hwnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
    static HBRUSH  hBrushStatic ;/////////////////////////////////////////換顏色1
PAINTSTRUCT ps;
HDC hdc;

    switch (Message)
    {
case WM_CREATE:
{

CreateWindow (TEXT ("static"), TEXT ("Red"),///////////////////////////換顏色2
  WS_CHILD | WS_VISIBLE | SS_CENTER,
  0, 0, 50, 50,
  hwnd, HMENU(ID_MYBUTTON),
  ((LPCREATESTRUCT)lParam)->hInstance, NULL) ;

hBrushStatic = CreateSolidBrush (GetSysColor (COLOR_BTNHIGHLIGHT)) ;///換顏色3
          
}
break;     
case WM_CTLCOLORSTATIC :////////////////////////////////////////////換顏色4
SetTextColor ((HDC) wParam, RGB (255, 0, 0)) ;
            SetBkColor ((HDC) wParam, GetSysColor (COLOR_BTNHIGHLIGHT));
        return (LRESULT) hBrushStatic ;
       break ;////////////////////////////////////////////////////////////////換顏色結束
case WM_COMMAND:
// 剖析功能表選取項目:
switch (LOWORD(wParam))
{
case ID_MYBUTTON:
{
}
break;
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
// TODO: 在此加入任何繪圖程式碼...
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
        return 0;
        default:
             return DefWindowProc(hwnd, Message, wParam, lParam);
    }
return 0;
}
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=1618032
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 1 篇留言

RGamer
text

05-28 11:50

我要留言提醒:您尚未登入,請先登入再留言

喜歡★satanupup 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【RPG公會】角色:史平... 後一篇:指針函式練習...

追蹤私訊切換新版閱覽

作品資料夾

d88931122所有巴友
歡迎諸君來參觀老僧的小屋,內含Steam與Google Play遊戲、3D角色模組、Line貼圖看更多我要大聲說9小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】