информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на InternetВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Прямо в стилях диалога и указывай 06.08.03 12:34  Число просмотров: 1284
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Можно привести пример? Как указать видимостьдиалогав
> ресурсах.
Вот так выглядит ресурс с видимым диалогом:

IDD_MAINDLG DIALOG DISCARDABLE  0, 0, 196, 189
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
// И т.д.

---

А вот так с невидимым
IDD_MAINDLG DIALOG DISCARDABLE  0, 0, 196, 189
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
// И т.д.

---

Только что лично попробовал. Во втором случае пока не сделаешь ShowWindow() диалог не отображается
<programming>
[Win32] [WinAPI] Как изменить размер диалогового окна еще до его создания? 05.08.03 17:17  
Автор: Disappear Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Никто не знает, как изменить размер и позицию диалогового окна еще до создания??
Задумка в том, чтобы окно сохраняло свой размер и заново восстанвливало его при создании.
Я пробовал вешать MoveWindow на WM_INITDIALOG, но всеравно заметно как промелькивает окно старого размера, а потом только принимает нужный размер.
Пробовал также WM_NCCALCSIZE, но что-то в этом сообщении получается только размер клиенской области менять :(
А как сделать так, чтобы размер менялся где-то на том этапе, где окно еще не может быть видимо???
Setwindowpos() в wm_initdialog 06.08.03 16:03  
Автор: IgorR <Igor Razin> Статус: Member
<"чистая" ссылка>
[win32] [winapi] а если реагировать на wm_create? 05.08.03 23:02  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
В нём есть ссылка на CREATESTRUCT, там есть размеры, их можно править.
Нету у диалога wm_create :( :) 06.08.03 02:36  
Автор: Disappear Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> В нём есть ссылка на CREATESTRUCT, там есть размеры, их
> можно править.

Там есть, но WM_CREATE не посылается в диалоговую функцию, туда шлется WM_INITDIALOG :(
А у этой мессаги нет такой структуры.
А нельзя его создать невидимым, переместить, а потом сделать ShowWindow 05.08.03 17:30  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Для этого нужно в ресурсе для диалога убрать WS_VISIBLE
Нет такого флага в ресурсах диалога 05.08.03 22:28  
Автор: Disappear Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В ресурсах нет такого флага, - это флаг есть у контролов, точнее его поставить можно конечно но ничего от этого не меняется.
Я пробовал снимать WS_VISIBLE программно в WM_INIDIALOG - ничего не изменилось, всеравно окно отображается.
Пробовал сначала вызывать ShowWindow(SW_HIDE) - тоже самое.

В винде, так всегда :( Самая простая ситуация фиг знает как рещается.
Прошу прощения, может я чего-то не понимаю... 05.08.03 22:50  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> В ресурсах нет такого флага, - это флаг есть у контролов,
> точнее его поставить можно конечно но ничего от этого не
> меняется.
...но разве в ресурсе нельзя выставить размер диалогового окна???
Действительно не понимаю :) Стормозил. 05.08.03 22:52  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> ...но разве в ресурсе нельзя выставить размер диалогового
> окна???
Это если только писать этот размер в ресурс каждый раз %-)
Но amirul прав - на этапе создания окна можно указать его видимость. "Пилите, Шура, они золотые" (с)
Может я сам торможу, но... 06.08.03 02:38  
Автор: Disappear Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Можно привести пример? Как указать видимостьдиалогав ресурсах.
Прямо в стилях диалога и указывай 06.08.03 12:34  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Можно привести пример? Как указать видимостьдиалогав
> ресурсах.
Вот так выглядит ресурс с видимым диалогом:

IDD_MAINDLG DIALOG DISCARDABLE  0, 0, 196, 189
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
// И т.д.

---

А вот так с невидимым
IDD_MAINDLG DIALOG DISCARDABLE  0, 0, 196, 189
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
// И т.д.

---

Только что лично попробовал. Во втором случае пока не сделаешь ShowWindow() диалог не отображается
изврат конечно... 06.08.03 03:08  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
но можешь еще редактировать ресурс в рантайм - UpdateResource, только я его сам никогда не юзал..
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach