Вниз
Скачать: CL | DM;

wm_char   Найти похожие ветки 

← →
Creative   (2006-05-18 15:20) [0]

вопрос очень глупый. вот этот код выводит на экран ASCII коды клавиш. А как сделать, чтобы он выводил собственно буквы?

var
aChar: word;

WM_char:
     begin
     aChar:= wParam;
      case aChar of
        97..122:
          begin
            SetRect(R, 100,150, 400, 180);
            invalidateRect(hwnd,nil, false);
          end;
       end;  
    end;

   WM_PAINT:
    begin
        DC:= BeginPaint(hwnd, ps);
        TextOut(dc, 100, 100, pAnsiChar(Chr(aChar)),length(IntToStr(aChar)));
        EndPaint(hwnd, ps);
    end;

Причем: сообщение перехватывается нормально, и если в функцию вывода текста на экран подставить просто стринг для примера - он выводится. Но на преобразовании программа затыкается. В чем подвох?


← →
ANB ©   (2006-05-18 15:24) [1]


> IntToStr

Чего хотел, то и получил.
S := Char(aChar);
TextOut(dc, 100, 100, PChar(S),length(S));


← →
Creative   (2006-05-18 15:35) [2]

> ANB ©   (18.05.06 15:24) [1]
> S := Char(aChar);
> TextOut(dc, 100, 100, PChar(S),length(S));

а при таком раскладе программа просто вылетает


← →
ANB ©   (2006-05-18 15:43) [3]


> Creative   (18.05.06 15:35) [2]

Запости весь код и посмотри отладчиком - где вылетает.


← →
ANB ©   (2006-05-18 15:45) [4]


> SetRect(R, 100,150, 400, 180);
>             invalidateRect(hwnd,nil, false);

Зачем генерить рект, если потом ты его нигде не используешь ?

Кстати, WM_PAINT имеет особенность срабатывать не только тогда, когда ты его заинвалидейтишь.


← →
Игорь Шевченко ©   (2006-05-18 15:46) [5]


> TextOut(dc, 100, 100, pAnsiChar(Chr(aChar)),length(IntToStr(aChar)));
>
>        


TextOut(dc, 100, 100, pAnsiChar(Chr(aChar)),SizeOf(Char));


← →
MBo ©   (2006-05-18 15:49) [6]

var
 c: array[0..1] of Char;

WM_char:
    begin
    c[0] :=Chr(wParam);
    c[1] :=#0;
...
  TextOut(dc, 100, 100, c, 1);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1147676291
Мурзилка
2006-05-15 10:58
2006.06.04
TTreeView


3-1144741610
NetBot
2006-04-11 11:46
2006.06.04
Простейший пример IB & Delphi. подключение, запрос, результат.


4-1141895510
msg
2006-03-09 12:11
2006.06.04
GetMessage в отдельном потоке


9-1130965634
2Wish
2005-11-03 00:07
2006.06.04
С DelphiX на PowerDraw


2-1147720988
Firefly
2006-05-15 23:23
2006.06.04
web-страницы




   Наверх