[ 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ý: 06.05.24
Príspevky: 1385
Témy: 9 | 9
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ý: 06.05.24
Príspevky: 1385
Témy: 9 | 9
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 Assembler, C, C++, Pascal, Java

1

479

14.06.2012 23:02

Fico

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é a internetové programy

0

1373

23.01.2015 16:06

Stary

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 Operačné systémy Microsoft

17

2145

23.03.2009 10:41

FERDA23

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 - Advanced Micro Devices

45

4757

26.04.2012 11:14

netpeter77

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

Battlefield 3 SKIDROW problem + win7 problem

v Počítačové hry

1

1590

22.09.2012 23:51

walther

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

2317

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

1475

22.02.2013 14:08

lucifer666x

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

problem

v Assembler, C, C++, Pascal, Java

2

292

06.10.2012 18:21

kustom456

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

problem

v Notebooky a netbooky

6

246

18.12.2013 21:50

screw

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

Problem

v Operačné systémy Microsoft

10

422

28.08.2014 22:14

kllr007

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

problem

v PHP, ASP

2

715

29.05.2007 8:07

Punker661

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

Problem

v nVidia grafické karty

0

439

27.01.2010 18:01

legend

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

problem

v Operačné systémy Microsoft

9

375

03.04.2012 7:07

Rastislav

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

Problém?

v Pamäte

17

1533

05.01.2009 20:21

KingTommy

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

Problem

v nVidia čipové sady

3

521

22.05.2013 19:01

LeaR

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

Problém

v Operačné systémy Microsoft

10

502

05.11.2008 20:01

walther



© 2005 - 2024 PCforum, edited by JanoF