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

Device Context AKA HDC   Найти похожие ветки 

 
MJH ©   (2001-12-10 09:58) [0]

Почему сабж у окошка все время меняется? прикол мелкомягких или борланда?


 
Dimka Maslov ©   (2001-12-10 10:11) [1]

DC у окна каждый раз меняется, поскольку он каждый раз создаётся заново, когда окно получает сообщение WM_PAINT


 
MJH ©   (2001-12-10 13:23) [2]

т.е. нужно его каждый раз заного определять или как?
вообщето вроде хватает один раз его определить и все работает...НО!
пися(пиша, писая, писув :))) короче создавая нитроамп наступил на следующие грабли - в начале определяю DC - GetWindowDC()
затем в ходе программы рисую на окне. в вин2000 всё нормально, ибо там значения сабжа миллионы, но в вин98 эти значения измеряются тысячами (5000, 7000) и окно скин вместо того чтобы рисоваться на заранее определённом контексте начинает рисоваться на окошках, имеющих точно такой же контекст....ещё когда по таймеру рисую на панелях....в точности такой же эффект...в вин 98 хоть не запускай....перепробовал многое...но не всё...может вкурсе где копать, встречалось подобное?
зы: рисуется всё через bitblt()


 
Dimka Maslov ©   (2001-12-10 13:42) [3]

Нужно каждый раз переопределять заново. Все компоненты, унаследованные от TCustomControl в обработчике сообщения WM_PAINT сначала создают дисплейный контекст, затем вызывает виртуальный метод Paint, после чего высвобождают контекст. Если же наследовать компонент от TWinControl, то все вышеописанные действия нужно выполнять вручную.


 
MJH ©   (2001-12-10 14:22) [4]

да.., но в той же опенГЛ не переопределяется заного и все работает. как же там?


 
MJH ©   (2001-12-10 17:21) [5]

оно вроде вылечилось (где здесь дерево?????? и левое плечо???? :))
путём определения сабжа на онкрэйт формы....как раньше не доперло....если опять будут глюки - повешусь :)


 
MJH ©   (2001-12-10 18:04) [6]

млин....как оно меня достало.....раз рисуется всё ништяк, другой раз рисуется по всем окошкам :-E~~~~



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

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



Память: 0.46 MB
Время: 0.01 c
1-18842
PEC
2002-01-22 11:00
2002.02.07
автозапуск.


7-18995
Wizard_Ex
2001-10-26 16:10
2002.02.07
Registry.ReadBinaryData - как изменить ключ


1-18809
Муть
2002-01-24 11:54
2002.02.07
TRichEdit и горячие клавиши


14-18977
neodiX
2001-12-19 11:49
2002.02.07
Darova. A voobsce, kakoi samyi bystryi sposob sohranenija desktop a (izobrazenija) v TBitMap?


1-18833
Lotus
2002-01-22 10:17
2002.02.07
Есть две формы, на одной из них Memo на другой Edit




   Наверх