Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

не отображаются компоненты   Найти похожие ветки 

 
snake2003   (2004-06-18 11:29) [0]

создал потомка от TCustomControl

procedure TSnPopupWindow.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 with Params do
 begin
   Style   := WS_POPUP or WS_BORDER or WS_CLIPCHILDREN;
   ExStyle := WS_EX_TOOLWINDOW or WS_EX_TOPMOST;
   WindowClass.Style := CS_SAVEBITS;
 end;
end;

отображаю так

procedure TSnPopupWindow.ShowPopup(Origin: TPoint);
begin
 Self.Width := FEditor.Width;
 SetWindowPos(Handle, HWND_TOP, Origin.X, Origin.Y, 0, 0,SWP_NOSIZE or SWP_NOZORDER or SWP_NOACTIVATE or SWP_SHOWWINDOW);

 FList := TSnPopupList.Create(Self);
 with FList do
 begin
   Parent  := Self;
   Visible := True;
   Left    := 0;
   Top     := 0;
   Width   := Self.Width - GetSystemMetrics(SM_CXVSCROLL);
   Height  := Self.Height;
   Color   := clRed;
 end;

 FEditor.SetFocus;
 FVisible := True;
end;

так вот после этого их не видно, но если пишу так:
FList.Parent := FEditor;
то список отображается на FEditor в чем тут косяк ?


 
pasha_golub ©   (2004-06-18 12:08) [1]

Все правильно, родитель FEditor на нем и отображается.


 
snake2003   (2004-06-18 12:10) [2]

а мне надо чтобы родителем был Self т.е. само выпадающее окно


 
TUser ©   (2004-06-18 12:40) [3]

procedure TControl.SetParent(AParent: TWinControl);
begin
 if FParent <> AParent then
 begin
   if AParent = Self then
     raise EInvalidOperation.CreateRes(@SControlParentSetToSelf);

Увы, Ж:)


 
snake2003   (2004-06-18 17:37) [4]

я код не правильный привел вверху пишу так:
FList := TSnPopupList.Create(Self);
FList.Parent := Self;
т.е. родителем является не сам объект, а окно на котором он расположен.

а в TControl имеется в виду что нельзя на себя ссылаться.


 
TUser ©   (2004-06-18 17:49) [5]

Ну, так ты писал выше (я так понял) про самого себя. А то, что родителем (но не предком - вот пойми эту терминологию :) является объект "на котором он расположен", так это всегда так.

Вот здесь Self - это FList, т.к. with

>  FList := TSnPopupList.Create(Self);
>  with FList do
>  begin
>    Parent  := Self;


 
TUser ©   (2004-06-18 17:51) [6]

Мой предыдуший пост считай навеянным Старым Похмельником *)


 
TUser ©   (2004-06-18 17:58) [7]

А так все должно работать. Например, так работает
procedure TForm1.FormCreate(Sender: TObject);
var   Pan: TPanel;
begin
  Pan:=TPanel.Create(Application);
  with Pan do begin
     Parent:=self;
  Left    := 0;
  Top     := 0;
  Width   := Self.Width - GetSystemMetrics(SM_CXVSCROLL);
  Height  := Self.Height;

     end;
end;


 
snake2003   (2004-06-18 18:17) [8]

вот и мне кажется что должно работать.
если я этот кусок кода выношу из компонента в форму то все ОК или ставлю родителем все что угодно кроме своего выпадающего списка то тоже все ОК. вот я и парюсь.


 
snake2003   (2004-06-18 18:34) [9]

мля. день что ли неудачный сегодня. пришлось перезагрузить тачку и после перезагрузки все заработало - че было не знаю.
всем большое спасибо. особенно TUser.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1087289184
able
2004-06-15 12:46
2004.07.04
Раскрутка сайта


4-1085580560
Jel
2004-05-26 18:09
2004.07.04
Посмотрите пожалуйста, что крамольного в коде?


3-1086604103
Марат
2004-06-07 14:28
2004.07.04
Перекрестный запрос


3-1086033673
MOTOR
2004-06-01 00:01
2004.07.04
Как узнать что база пуста


14-1087283760
AlexG
2004-06-15 11:16
2004.07.04
Резюме. Цель.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский