programowanie windows
DESCRIPTION
Programowanie Windows. W środowisku Visual C++ Część II. Anna Tomkowska Politechnika Koszalińska 2007. 1/7. Wyświetlanie tekstu. COLORREF fontColor = RGB(0,0,0); ; … LRESULT CALLBACK WndProc ( … ) { … LOGFONT lf; HFONT hfont; case WM_PAINT: … SetTextColor(hdc, kolorCzcionki); - PowerPoint PPT PresentationTRANSCRIPT
Programowanie Windows
W środowisku Visual C++Część II
Anna TomkowskaPolitechnika Koszalińska 2007
Wyświetlanie tekstuCOLORREF fontColor = RGB(0,0,0);;…LRESULT CALLBACK WndProc( …){…LOGFONT lf;HFONT hfont; case WM_PAINT:
…SetTextColor(hdc, kolorCzcionki);SetBkMode(hdc,TRANSPARENT);memset(&lf,0,sizeof(lf));lf.lfItalic=1;_tcscpy( lf.lfFaceName, TEXT("Times New Roman") );hfont=CreateFontIndirect(&lf);hfont=(HFONT) SelectObject(hdc,hfont);TextOut(hdc,100,100,TEXT("ABCdefg"),7);DrawText(hdc,TEXT(„ab"),-1,&rc,DT_CENTER|DT_VCENTER|DT_SINGLELINE);hfont=(HFONT) SelectObject(hdc,hfont);DeleteObject(hfont);…
return 0;…
1/7
Wyświetlanie dialoguBOOL CALLBACK DialogProc(HWND,UINT,WPARAM, LPARAM);…
LRESULT CALLBACK WndProc(…){… case WM_COMMAND:
…case ID_OPCJE_KOLOR:
if( DialogBox (hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWnd,(DLGPROC)DlgProc) )
InvalidateRect(hWnd,0,1);break;
…}
BOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam){…}
2/7
Niestandardowe kontrolki#include <commctrl.h>
…
int WINAPI( …){ InitCommonControls();…}
Project → Properties Configurations Properties- → Linker → Command LineAdditional Options:comctl32.lib
Dodać bibliotekęcomctl32.lib
3/7
Ustawianie wart. początkowychBOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam){static COLORREF kolor = RGB(0,0,0);static HWND hOkienko; switch(uMsg) { case WM_INITDIALOG:
hOkienko=GetDlgItem(hDlg,IDC_COLOR);SetDlgItemInt(hDlg,IDC_EDIT1,GetRValue(kolor),0);…SendDlgItemMessage(hDlg,IDC_SLIDER1,TBM_SETRANGE,
TRUE,MAKELONG(0,255));…SendDlgItemMessage(hDlg,IDC_SLIDER1,TBM_SETPOS,
TRUE,GetRValue(kolor));…
return 1; case WM_CLOSE:
EndDialog(hwndDlg,FALSE); return 1; }…
4/7
Komunikat WM_COMMANDBOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam){… case WM_COMMAND: switch (LOWORD(wParam))
{case IDOK: fontColor = kolor; EndDialog(hwndDlg,TRUE);return 1;
case IDCANCEL: EndDialog(hwndDlg,FALSE); return 1;
} return 1;…}
5/7
Komunikat WM_COMMANDBOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam){… case WM_COMMAND: switch (LOWORD(wParam))
{ … case IDC_EDIT1: {
int R = GetDlgItemInt(hDlg,IDC_EDIT1,NULL,0);kolor=RGB(R,GetGValue(kolor),GetBValue(kolor));SendDlgItemMessage(hDlg,IDC_SLIDER1,TBM_SETPOS,
TRUE,GetRValue(kolor));
InvalidateRect(hwndDlg,0,0); } return 1; …
} return 1;
…}
6/7
Komunikat WM_PAINTBOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam, LPARAM lParam){…HBRUSH hbrush;RECT rc;
… case WM_PAINT:
hdc=BeginPaint(hOkienko,&ps);hbrush=CreateSolidBrush(kolor);hbrush=(HBRUSH) SelectObject(hdc,hbrush);GetClientRect(hOkienko,&rc);Rectangle(hdc,0,0,rc.right,rc.bottom);hbrush=(HBRUSH) SelectObject(hdc,hbrush);DeleteObject(hbrush);EndPaint(hOkienko,&ps);
break; …
…
7/7