информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыВсе любят медЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Kik закрывается, все ушли на криптофронт 
 Sophos открывает Sandboxie 
 Большой вторник патчей от MS 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Прямо в стилях диалога и указывай 06.08.03 12:34  Число просмотров: 943
Автор: 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-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach