[ Pobierz całość w formacie PDF ]
.Klawiatura 281163: // pobieramy uchwyt kontekstu urzadzenia okna164: HDC hdc = 0;165: hdc = GetDC(hwnd);166:167: // wybieramy czcionke o sta ej szerokosci znaku168: HGDIOBJ gdiObj = 0;169: gdiObj = SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));170:171: // pobieramy wysokosc pojedynczego wiersza tekstu172: // zapisanego za pomoca czcionki aktualnie wybranej w kontekscie173: // urzadzenia174: TEXTMETRIC tm = {0};175:176: GetTextMetrics(hdc, &tm);177: wysokoscWierszaTekstu =178: tm.tmHeight + tm.tmExternalLeading;179:180: // sprawdzamy, czy wyswietlany wiersz jest181: // pierwszym wierszem tekstu w oknie oraz czy182: // okno nie zostalo calkowicie zapisane, gdy jeden z183: // warunkow zostanie spelniony, czyscimy obszar roboczy okna,184: // malujac go na bia o, po czym wyswietlamy naglowek tabeli185: if((ileWierszy == 2) ||186: ((ileWierszy * wysokoscWierszaTekstu) >187: WYSOKOSC_OKNA - wysokoscWierszaTekstu * 3))188: {189: // pobieramy rozmiar obszaru roboczego okna190: RECT rect = {0};191: GetClientRect(hwnd, &rect);192:193: // malujemy go na bialo194: FillRect(hdc, &rect, (HBRUSH)GetStockObject(WHITE_BRUSH));195:196: // ustalmy pozycje pierwszego wiersza tekstu197: ileWierszy = 2;198:199: // wyswietlamy naglowek tabeli200: TextOut(201: hdc, 10, 0,202: naglowekTabeli, (int)strlen(naglowekTabeli));203:204: TextOut(205: hdc, 10, wysokoscWierszaTekstu,206: podkreslenie, (int)strlen(podkreslenie));207:208: // informacja dzwiekowa209: MessageBeep(MB_OK);210: }211:212: // przygotowujemy tekst zawierajacy informacje o odebranej213: // wiadomosci i stanie klawisza214: sprintf_s(215: buforWierszaTekstu,216: sizeof(buforWierszaTekstu),217: "%-14s%-6c%#-6x%-5i%-9i%-7i",218:219: // identyfikator wiadomosci 282 Visual Studio 2005.Programowanie z Windows API w j zyku C++220: (message == WM_CHAR) ? "WM_CHAR" :221: (message == WM_KEYDOWN) ? "WM_KEYDOWON" : "WM_KEYUP",222:223: // znak224: (message == WM_CHAR) ? (char)wParam : ' ',225:226: // kod skaningowy klawisza, szesnastkowo i dziesietnie227: (lParam & 0x00FF0000) >> 16,228: (lParam & 0x00FF0000) >> 16,229:230: // kod wirtualnego klawisza231: (message != WM_CHAR) ? wParam : 0,232:233: // licznik powtorzen klawisza234: (lParam & 0x0000FFFF)235:236: ); // 20) ? ileWlosow = 500 : ileWlosow = 3000;Jaka warto zostanie przypisana zmiennej ileWlosow? Tak! Masz racj b dzie to war-to 3000, bo wyra enie 2 > 20 jest fa szywe (FALSE).Po wy wietleniu tekstu funkcja ustala pozycj nast pnego wiersza tekstu, po czym przy-wraca pierwotne ustawienia kontekstu urz dzenia okna, zatwierdza obszar roboczy oknai zwalnia uchwyt kontekst urz dzenia [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • blondiii.htw.pl
  •