[ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.11.10
Prihlásený: 29.07.12
Príspevky: 38
Témy: 20 | 20
NapísalOffline : 06.06.2012 20:55 | problem vo winapi

caute, zacinam programovat vo winapi v jazyku C. nad jednym problemom si lamem hlavu uz vyse hodinu tak sa vas spytam.. vo WndProc mam toto:

Kód:
CHAR ch[40];

a dalej vo switchi
Kód:
case WM_CHAR:
                  SendMessage(hwnd, WM_PAINT, wParam, 0);
                  return 0;


case WM_PAINT:
                    hdc = BeginPaint(hwnd, &ps);
                    GetClientRect(hwnd, &rect);
                                   
                    TextOut(hdc, 0, 0, ch, wsprintf(ch, "%c", wParam));
                    MessageBox(hwnd, ch, NULL,NULL);                                 
                       
                    EndPaint(hwnd, &ps);
                    return 0;


MessageBox pekne vyhodi znak co bol stlaceny, no ani za svet sa mi nevypise do okna. Pomozte pls. diki


Offline

Skúsený užívateľ
Skúsený užívateľ
problem vo winapi

Registrovaný: 11.01.09
Prihlásený: 08.11.26
Príspevky: 1402
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 06.06.2012 23:05 | problem vo winapi

Pouzi funkciu InvalidateRect, pretoze tymto tvojim postupom okno nie je potrebne vykreslit a preto nevidis tu zmenu. Zavolanim tejto funkciu si priamo vynutis vykreslenie konkretnej casti formulara. Priklad:

Kód:
case WM_CHAR:
    ch[0] = (char) wParam;
    ch[1] = '\0';
    GetClientRect(hwnd, &rect);
    InvalidateRect( hwnd, &rect, true );
    break;

case WM_PAINT:
    hdc = BeginPaint( hwnd, &ps );
    TextOut( hdc, 0, 0, ch, strlen(ch) );
    EndPaint( hwnd, &ps );
    break;


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.11.10
Prihlásený: 29.07.12
Príspevky: 38
Témy: 20 | 20
Napísal autor témyOffline : 07.06.2012 14:47 | problem vo winapi

diki moc uz mi to ide, len som tu tvoju verziu trosku upravil lebo mi nesla. tu je kod

Kód:
case WM_CHAR:
                    i++;
                    GetClientRect(hwnd, &rect);
                    InvalidateRect(hwnd, &rect, true);                   
                    SendMessage(hwnd, WM_PAINT, wParam, 0);
                    return 0;
                 
                 
                 
             case WM_PAINT:
                    hdc = BeginPaint(hwnd, &ps);
                    SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT)); 
                                               
                    TextOut(hdc, i*cxCaps, 0, ch, wsprintf(ch, "%c", wParam));
                                                   
                    EndPaint(hwnd, &ps);
                    return 0;


x suradnicu priraduje dobru, len mi zmaze predchadzajuce znaky. jak to spravit? oznacit za neplatnu len malu cast okna? diki


Offline

Skúsený užívateľ
Skúsený užívateľ
problem vo winapi

Registrovaný: 11.01.09
Prihlásený: 08.11.26
Príspevky: 1402
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 07.06.2012 16:30 | problem vo winapi

Asi chces spravit nieco take, ze aky klaves stlacis, ten sa vypise na nejaku suradnicu a potom sa posunies akoby na dalsiu poziciu a tam pokracujes. V tom pripade je podla mna efektivnejsie a jednoduchsie to spravit tak, ze kazdy stlaceny klaves jednoducho pridas do pola ( retazca ) a ten potom stale vypisujes na konstantnu poziciu. Vysledok bude ten isty, postup jednoduchsi.


 [ Príspevkov: 4 ] 


problem vo winapi



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

visual c++ winapi problem

v Backend

1

556

14.06.2012 23:02

FITrepairs

V tomto fóre nie sú ďalšie neprečítané témy.

M Firefox problém so sťahovaním a GCH problém s updatom

v Sieťové programy

0

1683

23.01.2015 16:06

Stary

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s AMD Adrenaline alebo je to softvér či HW problém?

v AMD grafické karty

5

563

07.02.2026 0:30

funsat

V tomto fóre nie sú ďalšie neprečítané témy.

Problém so zobrazovaním www stránok, problém užívateľa

v Windows

17

2503

23.03.2009 10:41

FERDA23

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Battlefield 3 SKIDROW problem + win7 problem

v Hry a herné konzoly

1

1963

22.09.2012 23:51

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Záhadný problém s PC... problém procesora?

[ Choď na stránku:Choď na stránku: 1, 2 ]

v AMD

45

5518

26.04.2012 11:14

netpeter77

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s MB ASUS P5K - problém s Realtek

v Ovládače

4

2797

14.06.2008 10:36

$ph!nX

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s HDD / Problém s bootovaním

v Pevné disky a radiče

4

1785

22.02.2013 14:08

lucifer666x

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

problem

v Hry a herné konzoly

2

660

27.12.2009 21:01

elsofi

V tomto fóre nie sú ďalšie neprečítané témy.

Problém

v Intel platformy

11

486

09.06.2015 20:57

matias235

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Backend

2

485

06.10.2012 18:21

kustom456

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Windows

2

941

09.08.2007 22:29

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Problém?

v Pamäte

17

1786

05.01.2009 20:21

KingTommy

V tomto fóre nie sú ďalšie neprečítané témy.

Problém

v Kôš

3

42

19.12.2019 18:41

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Problem

v nVidia grafické karty

0

652

27.01.2010 18:01

legend

V tomto fóre nie sú ďalšie neprečítané témy.

problem

v Notebooky a netbooky

1

607

19.08.2009 14:23

ac.milan



© 2005 - 2026 PCforum, edited by JanoF