Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.044 c
15-1146987805
Nic
2006-05-07 11:43
2006.06.04
Никто не программировал MathCad?


2-1146828997
JorSand
2006-05-05 15:36
2006.06.04
НОВОЕ в MDI


2-1148017120
Alex_C
2006-05-19 09:38
2006.06.04
Как узнать, установлен ли в сис-ме какой-либо язык?


5-1132748649
DimaBR
2005-11-23 15:24
2006.06.04
Сохранение Published свойства


15-1147346798
ПЛОВ
2006-05-11 15:26
2006.06.04
Денежный вопрос :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский