Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ustawienie czcionki w oknie dialogowym

Ostatnio zmodyfikowano 2012-03-06 23:40
Autor Wiadomość
ptaq
Temat założony przez niniejszego użytkownika
Ustawienie czcionki w oknie dialogowym
» 2012-03-06 22:31:19
Wiem jak ustawic czcionke dla calej aplikacji, ale chcialbym ustawic tylko dla wybranych kontrolek typu EDITTEXT , prosze o pomoc.
P-52140
malan
» 2012-03-06 22:50:40
Przy tworzeniu dialogu w pliku *.rc masz chyba możliwość wybrania czcionki danej kontrolki. Nie jestem tego pewien, tym bardziej, że to by było za proste, ale możesz poszukać :P
P-52145
ptaq
Temat założony przez niniejszego użytkownika
» 2012-03-06 23:04:14
Niestety jest tam tylko parametr FONT ale zmienia on wielkosc calego okna, ale nie czcionki.
P-52147
Chlorek
» 2012-03-06 23:20:14
Ładne czcionki w kontrolkach
Nie trudno zauważyć, że nasze kontrolki różnią się od tych spotykanych w "profesjonalnych" aplikacjach. W większości programów używana jest standardowa czcionka Windowsowa, a w naszych jest jakaś "niestandardowa", a w dodatku brzydka czcionka przez co użytkownicy łatwo zniechęcą się do naszych programów. Do takiej sytuacji nie możemy dopuścić, dlatego czas nauczyć się ustawiania standardowych czcionek Windowsa.

Aby użyć takiej czcionki, musimy ją najpierw wczytać. Służy do tego funkcja GetStockObject, która przyjmuje jako argument stałą, reprezentującą to, co chcemy wczytać. W naszym przypadku jest to zwykła czcionka czyli DEFAULT_GUI_FONT. Funkcja zwróci nam uchwyt do czcionki, który dobrze będzie zapisać w jakiejś zmiennej:

C/C++
HFONT hNormalFont =( HFONT ) GetStockObject( DEFAULT_GUI_FONT );

Skoro mamy już czcionkę, to możemy ją przypisać do kontrolki. Można to zrobić wysyłając komunikat WM_SETFONT do kontrolki. Jako parametr wParam należy podać uchwyt do czcionki, który uzyskaliśmy wcześniej. Tym sposobem można też przypisać dowolną inną czcionkę. Poniższy kod najlepiej umieścić zaraz po instrukcji tworzącej kontrolkę:

C/C++
SendMessage( hKontrolka, WM_SETFONT,( WPARAM ) hNormalFont, 0 );

Powyższy sposób zmienia tylko jedną kontrolkę, a nie wszystkie naraz. Dlatego czcionkę trzeba ustawiać osobno dla każdej kontrolki.
Zrodlo: http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Podstawy/Kontrolki/178
P-52148
ptaq
Temat założony przez niniejszego użytkownika
» 2012-03-06 23:37:50
mi chodzi o kontrolke w oknie dialogowym, a ten kod wysyla wiadomosc do kontrolek w oknie głównym aplikacji niech mnie ktos poprawi jak sie myle.
P-52149
DejaVu
» 2012-03-06 23:40:46
Powyższy sposób zmienia tylko jedną kontrolkę, a nie wszystkie naraz. Dlatego czcionkę trzeba ustawiać osobno dla każdej kontrolki.
Czytanie ze zrozumieniem się kłania. Masz rozwiązanie podane na tacy, a Ty jeszcze chcesz abyśmy coś wyjaśniali?
P-52151
« 1 »
  Strona 1 z 1