[winapi] Ponowne rysowanie

0

Witam, piszę prosty programik w winapi. Mam problem, tekst znika mi po minimalizacji okna. Nie jest to tekst stały, wyświetla się po naciśnięciu przycisku, więc kodu odpowiedzialnego za jego wyświetlanie nie mogę umieścić w WM_PAINT. Jak zmusić program, aby ponownie wypisał tekst(za pomocą DrawText) znajdujący się w tym przypadku w WM_COMMAND po maksymalizacji?

Drugi problem to nie wyświetlająca się ikonka w trayu.
to działa(więc z ikonką jest chyba w porządku):

wincl.hIcon = LoadIcon (hThisInstance, "ikona");//działa ikona programu
wincl.hIconSm = LoadIcon (hThisInstance, "ikona"); //tez dziala

ale to już nie:


NOTIFYICONDATA nid;LPSTR sTip = "programik";

...

nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hwnd;
nid.uID = ID_TRAY1;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = CMSG_TRAY1;
nid.hIcon = LoadIcon (hThisInstance, "ikona"); // ikona w trayu nie wyswietla się(jakby przezroczysta) ale sam tray działa
lstrcpy(nid.szTip, sTip);
Shell_NotifyIcon(NIM_ADD, &nid);

Proszę o pomoc, i pozdrawiam:)

0

Musi byc w WM_PAINT jedynie po nacisnieciu przycisku ustalasz (jakas zmienna ... etc) czy to ma byc rysowane w WM_PAINT czy tez nie.

Co do ikonki to warto wyzerowac strukture na wszelki wypadek.

0

Dzięki za naprowadzenie, pierwszy problem rozwiązany. Co do drugiego nadal coś nie tak. Szukałem na google o zerowaniu, użyłem memset, zeromemory, ale i tak ikona w trayu się nie wyświetla.

0

Witam ponownie:)
W jaki sposób mogę zamienić liczbę dziesiętną (zakres<0;255>)na dwójkową, tak aby zawsze była 8 cyfrowa. Jeśli liczba dwójkowa, która powstanie będzie mniejsza np. 101, żeby powstało 00000101?

0
  • przeliczyc liczbe, niech Ci wyjdzie S="101"
  • policzyc dlugosc tego co Ci wyszlo. 3
  • rozwiązać analitycznie równanie X + 3 = 8
  • napisać pętlę, które X razy wypisze znak o kodzie ascii 0x30
  • napisac instrukcję, która wypisze S

albo, olac ze liczba jest niska czy wysoka, i zawsze ja analizowac tak, jakby to bylo 255. matematyka nie jest glupa, bity ktorych 'nie ma' bo liczba jest za niska - wyjda zerowe...

1 użytkowników online, w tym zalogowanych: 0, gości: 1