Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 513
от 03.09.2006, 04:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 373, Экспертов: 52
В номере:Вопросов: 2, Ответов: 5


Вопрос № 53518: Здравствуйте, уважаемые эксперты! Расскажите, пожалуйста, каким образом хранятся символы в С++. Ведь значение char-переменной может быть только от 0 до 256 - как в этом диапазоне размещаются все символы всех кодировок? Как определяется кодировка...
Вопрос № 53528: Здравствуйте эксперты! Подскажите пожалуйста как получить текущие координаты курсора мыши? (не используя сообщение WM_MOUSEMOVE). Обрабатываю ON_MESSAGE(WM_SYSTRAY, OnSysTray), в OnSysTray(WPARAM wp, LPARAM lp) проверяю LPARAM на: WM_RBUTTONDOWN ...

Вопрос № 53.518
Здравствуйте, уважаемые эксперты!
Расскажите, пожалуйста, каким образом хранятся символы в С++. Ведь значение char-переменной может быть только от 0 до 256 - как в этом диапазоне размещаются все символы всех кодировок? Как определяется кодировка в которой символ сохраненного символа? В ascii - таблице, например, нет русских символов, а в char можно сохранять любой символ? Расскажите, пожалуйста, поподробнее о типе данных char?
Отправлен: 28.08.2006, 12:34
Вопрос задал: Игнат (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mihasic
Здравствуйте, Игнат!
Как-то Вы не правильно вопрос ставите...
Почитайте это для определения "что такое кодовая страница":
http://en.wikipedia.org/wiki/Codepage

Кодировка - не имеет прямого отношения к типу char, т.к. этот тип - всего лишь тип, который занимает 1 байт (точнее переменная этого типа). Кодировка же используется для отображения символов (как при вводе, так и при выводе). Для отображения однобайтовых символов используется кодовая страница, эта кодовая страница задается операционной системой (почти всегда). Например, в консоли виндоуз используется codepage 866 (ASCII), а для отображения символов в самих приложениях используется cp1251 (в русских версиях), т.к. этот набор содержит русские символы. Общее во всех однобайтовых кодировках - первая половина (0 - 127), где находятся латинские символы.
Ответ отправил: Mihasic (статус: 6-ой класс)
Ответ отправлен: 28.08.2006, 12:54

Отвечает: Sergijj
Здравствуйте, Игнат!

От себя порекомендую также ознакомиться с ответами на вопрос № 52345 (он очень похож на Ваш).
---------
Стучитесь! И Вас откопают...
Ответ отправил: Sergijj (статус: 4-ый класс)
Ответ отправлен: 28.08.2006, 13:53


Вопрос № 53.528
Здравствуйте эксперты!
Подскажите пожалуйста как получить текущие координаты курсора мыши? (не используя сообщение WM_MOUSEMOVE). Обрабатываю ON_MESSAGE(WM_SYSTRAY, OnSysTray), в OnSysTray(WPARAM wp, LPARAM lp) проверяю LPARAM на: WM_RBUTTONDOWN и WM_RBUTTONUP, при последнем нужно отобразить меню в точке в которой находится мышь.
Заранее спасибо!
Отправлен: 28.08.2006, 14:16
Вопрос задал: Saw (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: dentist
Здравствуйте, Saw!
ms-help://MS.MSDNQTR.2003APR.1033/winui/winui/windowsuserinterface/resources/cursors/cursorreference/cursorfunctions/getcursorpos.htm

The GetCursorPos function retrieves the cursor's position, in screen coordinates.

Syntax

BOOL GetCursorPos(LPPOINT lpPoint);

Parameters

lpPoint
[out] Pointer to a POINT structure that receives the screen coordinates of the cursor.
Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


---------
"Software is like sex, it's better then it's free" (c) Linus Torvalds
Ответ отправил: dentist (статус: 2-ой класс)
Ответ отправлен: 28.08.2006, 14:23
Оценка за ответ: 5
Комментарий оценки:
Спасибо.

Отвечает: InviZ
Здравствуйте, Saw!
Нужно использовать API-функцию GetCursorPos.
Ответ отправил: InviZ (статус: 2-ой класс)
Ответ отправлен: 28.08.2006, 14:32

Отвечает: Mystic
Здравствуйте, Saw!
Необходимо обрабатывать сообщение WM_RBUTTONUP, тогда в WINAPI будет так:
//Координаты мыши:
xPos = GET_X_LPARAM(lParam); // LOWORD(lParam)
yPos = GET_Y_LPARAM(lParam); // HIWORD(lParam)
В МФЦ:
afx_msg void OnRButtonUp(
UINT nFlags, // Флаги (см. мсдн)
CPoint point //Координаты мыши
);
Ответ отправил: Mystic (статус: 1-ый класс)
Ответ отправлен: 29.08.2006, 01:46


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное