Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование с использованием WinAPI

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такая проблема:
содрал у Петзольда функцию печати, а на печать вместо русских букв идут знаки вопроса ...
не могу пока ничего поделать ...
может кто подскажет, где копать .

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 18:38 24-04-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
...на печать вместо русских букв идут знаки вопроса ...

Скорее всего, проблема в кодировке шрифта


----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 23:55 24-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
это понятно, но я вроде все что можно и в ANSI_charset, и в RUSSIAN_charset ставил - нифига...
я только один раз создаю CreateFontIndirect-ом фонт - потом им инициализирую ричедит окно - тут тже разные код. страницы пробую - нифига ...
как обычно - мелочь какая-то, а раскопать пока не могу ...

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 07:22 26-04-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333
Попробуй содрать из Bred2 там вроде все нормально идет

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 07:59 26-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
оказывается, если раскладка клавы русская, все проходит на печать ровно, если англ, то вопросики - отсюда вопрос, что же, перед печатью ставить русскую раскладку что-ли? или еще есть варианты?

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 18:08 07-05-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
оказывается, если раскладка клавы русская, все проходит на печать ровно, если англ, то вопросики - отсюда вопрос,  

А это что за покемон . Как печатаешь какими функциями? Попробуй сравнить реализацию с хелпом, может где косячок какой, если сможешь дай код печати вместе покопаем, пока время есть.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:33 08-05-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Поставь обработчик движения мыши например по таймеру, и смотри через GetCursorPos, находится ли он внутри активного тебе окна, есть несколько способов или проверяй по границам или через PtInRegion, PtInRect.  

 
 Я так и сделал, да только вот в чем проблема: если мое окно перекрывается другим, то
  PtInRect говорит что я попадаю в Rectangle, хотя мыша физически находится в другом  
  окне... Я уже пробовал обрабатывать WM_NCHITTEST, но єто сообщение почемуто не  
  приходит, когда я двигаю мышой по окну перекрывшему мое - хотя в доке сказано что
  DefWindowProc  должна возвращать значение HTTRANSPARENT если мыша лазит по  
  окну перекрывшему мое(по крайней мере я так понял...)
 
  Помогите плиз кто-нибудь, а то уже над этой проблемой целую неделю, а то и больше,
   голову ломаю

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 02:56 08-05-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
 Я так и сделал, да только вот в чем проблема: если мое окно перекрывается другим, то  
  PtInRect говорит что я попадаю в Rectangle, хотя мыша физически находится в другом  
  окне...

Все правильно, так как она находится в ректе нужного тебе окна. Предлагаю так, если переднее окно не твое то мышь считаем за пределами твоего окна, иначе проверяем находится ли она в ректе

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:13 11-05-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
отправил почту

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 03:47 11-05-2004
krisik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, может не копироваться изображение из памяти на экран в следующем куске:
 

Код:
hdc = BeginPaint(hWnd, &ps);
GetWindowRect(hWnd,&lp);
hdcMem=CreateCompatibleDC(hdc);

lp.bottom=lp.bottom-lp.top;
lp.top=0;
lp.right=lp.right-lp.left;
lp.left=0;

                hBrush[0]=CreateSolidBrush(RGB(0,0,200));
hBrush[1]=CreateSolidBrush(RGB(255,255,255));
SelectObject(hdc,hBrush[1]);
SetMapMode(hdcMem,GetMapMode(hdc));
PatBlt(hdc,0,0,lp.right,lp.bottom,PATCOPY);
SelectObject(hdc,hBrush[0]);
PatBlt(hdcMem,0,0,lp.right,lp.bottom,PATCOPY);
 
BitBlt(hdc,0,0,100,100,hdcMem,0,0,SRCCOPY);
 
         SelectObject(hdcMem,GetStockObject(BLACK_PEN));
         for(i=0; i<1; i++) DeleteObject(hPen[i]);
         SelectObject(hdcMem,GetStockObject(WHITE_BRUSH));
         for(i=0; i<2; i++) DeleteObject(hBrush[i]);
 
DeleteDC(hdcMem);
EndPaint(hWnd, &ps);
 
 

Всего записей: 8 | Зарегистр. 13-03-2004 | Отправлено: 15:48 11-05-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
SelectObject(hdc,hBrush[1]);

Опасно работаешь, надо сохранять все старые хэндлы, иначе потом хлопот не оберешься, что то вроде этого
hBrushOld:=SelectObject(hdc,hBrush[1]);

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 00:55 12-05-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Все правильно, так как она находится в ректе нужного тебе окна. Предлагаю так, если переднее окно не твое то мышь считаем за пределами твоего окна, иначе проверяем находится ли она в ректе

 
 Если б ты подсказал как определить, что окно не мое, я б тебе был бы очень  
  признателен... Но учти плиз то, что это MDI приложение, то-есть окон там и моих тоже  
  куча (вопрос может глупый, но я просто с данной проблемой ни разу не сталкивался,
  а опыт он, как говорится, как и импотенция, приходит с возрастом )

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 01:23 12-05-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react

Цитата:
...как определить, что окно не мое

Моё-не моё. Определяй через HANDLE, при создании всякого окна возвращается такое чудовище. Да и куча функции работы с ними -- глянь в MSDN (Platform SDK). А вообще, чем мучаться, проштудировал бы хорошенько книгу Рихтера (звиняй за настойчивость -- это вызвано твоими же вопросами!), там замечательно всё описано -- и мышиная возня, и про объекты ядра (а HANDLE -- описатели относятся к ним). Есть и другие способы.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 01:52 12-05-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert

Цитата:
А вообще, чем мучаться, проштудировал бы хорошенько книгу Рихтера  

 Какую из них ??? Если есть ссылка на книгу в электронном варианте - кинь плиз...
 
 Заранее сенькс

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 02:00 12-05-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react
У него не так уж и много книг. Можно 3-е, или 4-е издание. Глянь тут: hxxp://anatolix.naumen.ru/win32books.htm
 
P. S. А гуглить не пробовал?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 02:09 12-05-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert

Цитата:
У него не так уж и много книг. Можно 3-е, или 4-е издание

 Ну, 4-е издание я читал, и мышинной возни там в упор не видел !!! Если она у кого и  
  описана, так у Петзольда... до там я не нашел решения своей проблемы...
 
 А каким образом определить HANDLE окна в котором находится мыша ??? Есть может  
   какая функция ???

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 02:52 12-05-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 А каким образом определить HANDLE окна в котором находится мыша ??? Есть может    
   какая функция ???

Как понять,окно в котором находится мыша, если окно под мышью, то тебе надо WindowFromPoint(TPoint), иначе используй GetForeGroundWindow так как она вернет верхнее активное окно котору и будет принадлежать мышь.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:26 12-05-2004
Tartrout



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как повеситься на мышиное событие чтобы обработчик срабатывал при движении мыши вне окна моей программы?

Всего записей: 316 | Зарегистр. 24-07-2002 | Отправлено: 19:57 12-05-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А как повеситься на мышиное событие чтобы обработчик срабатывал при движении мыши вне окна моей программы?

Чиатй выше это как раз и обсуждается с react


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 00:53 13-05-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react
кстати, я недавно нарыл где-то Рихтера не 4-е издание,как везде, а еще какой-то первый вариант, точно не смотрел, но по-моему, еще все примеры и описание на С.
Могу намылить, если интересно (или выложить) ...
Хотя у него и в 4-м все понятно, на С++ ...

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 04:13 13-05-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование с использованием WinAPI


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru