Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание Page Control 
V
    Опции темы
darkmamba
Дата 28.2.2010, 16:01 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



Задача создать окно с элементами управления на АПИ. Со всеми элементами я разобрался, кроме одного. Как я тока не пробовал создать Page Control - не получается, причем GetLastError возвращает 0. Нагуглить примерчик тоже не получилось, поэтому обращаюсь к Вам с просьбой помочь разобратся, ув. форумчане ;). 

Код

  psp: TPropSheetPage;
  psh: TPROPSHEETHEADER;
. . .
function DlgProc(hDlg, message: dword; WParam, LParam: Integer): bool; stdcall;
begin
MessageBox(0, 'DlgProc', 'DlgProc', 0);
  result := false;
end;
  . . .
        FillChar(psp, SizeOf(TPropSheetPage), 0);
        psp.dwSize := SizeOf(psp);
        psp.dwFlags := PSP_USETITLE;
        psp.hInstance := hInstance;
        psp.pfnDlgProc := @DlgProc;
        psp.pszTitle := 'title';

        FillChar(psh, SizeOf(psh), 0);
        psh.dwSize := SizeOf(psh);
        psh.dwFlags := PSH_PROPSHEETPAGE; 
        psh.hInstance := hInstance;
        psh.hwndParent := hMain;
        psh.pszCaption := 'psh_title';
        psh.nPages := 1;
        psh.ppsp := @psp;

        PropertySheet(psh);

Этот набор символов выполняется без ошибки, но на окне не появляется ничего. 
У меня несколько впоросов. 
Что такое PSH_WIZARD  и что лучше использовать?
Как задавать координаты и размеры самого контрола ?
И главный вопрос что я делаю не так ? =))

Это сообщение отредактировал(а) darkmamba - 28.2.2010, 16:02
PM MAIL   Вверх
darkmamba
Дата 28.2.2010, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



ну что никто незнает чтоли ?
PM MAIL   Вверх
DarkProg
Дата 28.2.2010, 21:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 4
Всего: 19



Я почти не работаю с API, но скажи а где Create, в каком месте должно что-то создасться????


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
darkmamba
Дата 2.3.2010, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



незнаю, вот и спрашиваю, потому что невижу тут стандартной CreateWindow(ex), где задаются координаты, это еще один вопрос.
PM MAIL   Вверх
CodeMonkey
Дата 2.3.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Вообще-то Property Sheet - это не PageControl. Совершенно. Это вообще отдельное окно для правки свойств чего-либо.

PageControl - это что-нибудь в сторону SysTabControl32.

Добавлено через 1 минуту и 15 секунд
Наверное, вам сюда.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
darkmamba
Дата 2.3.2010, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



Огромное спасибо! Я там смотрел, смотрел и видимо просмотрел  smile  smile 
PM MAIL   Вверх
darkmamba
Дата 2.3.2010, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



Код

  Item: TC_ITEM;
  . . .
        InitCommonControls;
        hTabControl := CreateWindowEx(0, WC_TABCONTROL, nil,
                       WS_CHILD or WS_VISIBLE,
                       0, 0,
                       300, 300,
                       hMain,
                       0, hInstance, nil);
        FillChar(Item, SizeOf(TC_ITEM), 0);
        Item.mask := TCIF_TEXT;
        for i:=0 to 3 do begin
          Item.pszText := pchar('Page'+inttostr(i));
          SendMessage(hTabControl, TCM_INSERTITEM, i, integer(@Item));
        end;


А как добавить на закладку какой-нибуть контрол ? У закладок должен быть свой HWND ?
PM MAIL   Вверх
DarkProg
Дата 2.3.2010, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 4
Всего: 19



Цитата(darkmamba @  2.3.2010,  19:07 Найти цитируемый пост)
А как добавить на закладку какой-нибуть контрол ? У закладок должен быть свой HWND ? 


ВОзьму на себя ответственность и скажу: 1 вопрос=1 тема

А вообще то вроде бы и DC и HWND, но если нет того или иного, то одно через другое вроде бы можно дёрнуть.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
CodeMonkey
Дата 3.3.2010, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Слушайте, ну вы ленивый вааааще.

Вот же, в MSDN все примеры есть: Using Tab Controls. Как создать контрол, как добавить закладки, как на них контролы размещать, как сделать tabbed dialog (это когда каждая закладка - отдельный диалог со своей собственной оконной функцией).


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
darkmamba
Дата 4.3.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 16.10.2008

Репутация: нет
Всего: 1



 smile не дружу с мсдн. Щас все  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.