Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Поменять подсветку окна (http://forum.oszone.net/showthread.php?t=193105)

21h 05-12-2010 18:14 1558911

Поменять подсветку окна
 
Здравствуйте.
Как мне поменять подсветку дочернего окна с помощью WIN32 ?
и ещё один вопрос, есть ли стандартная ф-ция размещения дочернего окна в центре предка.
Спасибо.

pva 06-12-2010 19:28 1559743

Цитата:

Цитата 21h
Как мне поменять подсветку дочернего окна с помощью WIN32 ? »

звучит непонятно. Как это должно выглядеть?
Цитата:

Цитата 21h
ф-ция размещения дочернего окна в центре предка »

вроде бы нет. Напиши уже сам эти 2-3 строчки :)

Busla 06-12-2010 20:48 1559801

Цитата:

Цитата 21h
ф-ция размещения дочернего окна в центре предка »

это вообще не лучшая идея - не надо изобретать свой велосипед с квадратными колёсами - родительское окно вполне может быть частично за экраном, а дочернее целиком за экраном получится.

21h 06-12-2010 21:25 1559831

Цитата:

Цитата 21h
ф-ция размещения дочернего окна в центре предка »

с этим уже разобрался.
Вот с подсветкой не пойму. Ну кажется мне что надо иметь в окне рамку и чтобы она несколько раз поменяла свой цвет. Как это реализовать?

pva 08-12-2010 19:57 1561310

Цитата:

Цитата 21h
рамку и чтобы она несколько раз поменяла свой цвет »

Варианты:
1) FlashWindow - стандартная виндовая мигалка, мигает заголовок (а в стиле XP - вся рамка) и кнопка на панели задач
2)
Код:

RECT rect;
GetClientRect(hwnd, &rect);
for(unsigned n=0; n<10; ++n)
{
    HDC dc = GetDC(hwnd);
    FrameRect(dc, &rect, GetSysColoBrush(n));
    ReleaseDC(hwnd, dc);
    Sleep(1000);
}


Iska 08-12-2010 22:41 1561464

Думаю, количество лучше не задавать жёстко, а, например, ориентироваться на «HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundFlashCount».


Время: 16:50.

Время: 16:50.
© OSzone.net 2001-