Автор
|
Тема: очень сложный вопрос по окнам
|
DimaK |
опубликован 30-12-2001 15:35 MSK
Есть главное окно и несколько дочерних но не простых а созданых за пределами главного окна (пример Winamp) ситуация одному окну выставлен стиль принимать файлы а все окна созданы со стилем без бордюра и заголовка тогда принимают файлы как не странно все окна(те даже те которым не выставлен стиль принимать файл)а если окна с заголовком и бордюром то глюка нет кто сталкивался помогите (обязательное условие все окна должны иметь клиентскую область = области окна а то рушится абсолютно вся логика оработки и прорисовки)
|
michl_m
|
опубликован 30-12-2001 16:39 MSK
Объясни, в чем проблема, а то не очень вразумительно. Если я правильно понял, ты выставил WS_EX_ACCEPTFILES и реализуешь drag-and-drop, так, что ли? |
DimaK
|
опубликован 31-12-2001 09:32 MSK
да использую стиль WS_EX_ACCEPTFILES. но проблема в окнах. Есть главое окно у него есть дочерние окна важно созданные за пределами родительского окна как самостоятельные окна. каждое окно должно принимать файлы своего типа так и происходит если стили всех окон в Createwindow равны WS_OVERLAPPEDWINDOW. но нужен стиль WS_POPUP (без заголовка ресайза и бордюра)в этом случае на каком бы окне ты не бросил файл запускается обработчик WM_DROPFILES главного окна при дочернее окно может вообще не содержать стиль WS_EX_ACCEPTFILES дочерние окна создаются по следующему принципу создается класс окна и само окно hwndChild = CreateWindow ("Child", "Demo Program", WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwnd, NULL, hInstance, NULL) ; важно если не указать в стиле дочернего окна ws_child то оно создаетса вне пределов главнога окна
|
DmitryRyvkin
|
опубликован 04-01-2001 05:16 MSK
А с чег вы взяли, что для того , чтоб небыло бордюра и ресайза нужен стиль WS_POPUP ??????????? Все прекрасно и с CHILD выйдет. |