|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
j'ai une appli avec une fiche principale en AutoScroll
dedans je crée des TForm dont le parent est la fiche principale quand je déplace mes fiches enfant, l'autosroll joue son rôle et je peux déplacer tout comme je veux (le tout ressemble à ce que Access propose pour définir les liens entre tables, chaque table étant un TForm avec un TListBox) maintenant j'aimerai placer un TPanel sur la gauche de ma fiche avec quelques infos le pb est alors que mes fiches enfants peuvent se balader au dessus du TPanel et que mes scrollbars font scroller le TPanel du coup je place un TFrame en AutoScroll à droite du TPanel et j'en fait le parent de mes fiches enfants. et ben là ça merdoit...Des fois je peux plus déplacer une fiche, même la souris ne change plus d'aspect (redimensionner les bords), seuls les controles à l'intérieur réagissent. j'ai testé avec un TForm à la place du TFrame c'est pareil...ça vous dit quelque chose ? |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
ah ben non, j'ai le soucis aussi sans le TFrame
en fait, si je déplace une fiche en bas à droit histoire d'avoir des scrollbars, que je scrolle ma fiche, et bien l'autre TForm ne cliquent plus ![]() à vu de nez, Windows considèrerait toujours le composant à son ancienne place...sauf que du coup il réagit bizarre vu qu'il doit pas répondre correctement aux NC_HITTEST & Cie voici une appli de test TForm1 crée deux TForm2 TForm2 intercepte juste WM_WINDOWPOSCHANGED sinon Form1 n'ajuste pas ses scrollbars Paul TOTH a écrit : > j'ai une appli avec une fiche principale en AutoScroll > > dedans je crée des TForm dont le parent est la fiche principale > > quand je déplace mes fiches enfant, l'autosroll joue son rôle et je peux > déplacer tout comme je veux (le tout ressemble à ce que Access propose > pour définir les liens entre tables, chaque table étant un TForm avec un > TListBox) > > maintenant j'aimerai placer un TPanel sur la gauche de ma fiche avec > quelques infos > > le pb est alors que mes fiches enfants peuvent se balader au dessus du > TPanel et que mes scrollbars font scroller le TPanel > > du coup je place un TFrame en AutoScroll à droite du TPanel et j'en fait > le parent de mes fiches enfants. > > et ben là ça merdoit...Des fois je peux plus déplacer une fiche, même la > souris ne change plus d'aspect (redimensionner les bords), seuls les > controles à l'intérieur réagissent. > > j'ai testé avec un TForm à la place du TFrame c'est pareil...ça vous dit > quelque chose ? |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Gloups, ma théorie se confirme, comme le montre l'image, en ayant fait
défiler la fiche vers la gauche, la souris sur le bouton "Fermer" fait réagir le bouton "Réduire" ![]() Paul TOTH a écrit : > ah ben non, j'ai le soucis aussi sans le TFrame > > en fait, si je déplace une fiche en bas à droit histoire d'avoir des > scrollbars, que je scrolle ma fiche, et bien l'autre TForm ne cliquent > plus ![]() > > à vu de nez, Windows considèrerait toujours le composant à son ancienne > place...sauf que du coup il réagit bizarre vu qu'il doit pas répondre > correctement aux NC_HITTEST & Cie > > voici une appli de test > > TForm1 crée deux TForm2 > > TForm2 intercepte juste WM_WINDOWPOSCHANGED sinon Form1 n'ajuste pas ses > scrollbars > > Paul TOTH a écrit : >> j'ai une appli avec une fiche principale en AutoScroll >> >> dedans je crée des TForm dont le parent est la fiche principale >> >> quand je déplace mes fiches enfant, l'autosroll joue son rôle et je >> peux déplacer tout comme je veux (le tout ressemble à ce que Access >> propose pour définir les liens entre tables, chaque table étant un >> TForm avec un TListBox) >> >> maintenant j'aimerai placer un TPanel sur la gauche de ma fiche avec >> quelques infos >> >> le pb est alors que mes fiches enfants peuvent se balader au dessus du >> TPanel et que mes scrollbars font scroller le TPanel >> >> du coup je place un TFrame en AutoScroll à droite du TPanel et j'en >> fait le parent de mes fiches enfants. >> >> et ben là ça merdoit...Des fois je peux plus déplacer une fiche, même >> la souris ne change plus d'aspect (redimensionner les bords), seuls >> les controles à l'intérieur réagissent. >> >> j'ai testé avec un TForm à la place du TFrame c'est pareil...ça vous >> dit quelque chose ? > |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
je continue mes investigations...le problème est dans le ScrollBy
il suffit que je place un Boutton avec un ScrollBy(-20,-20) sur une fiche contenant une sous fiche pour reproduire le pb ![]() Paul TOTH a écrit : > Gloups, ma théorie se confirme, comme le montre l'image, en ayant fait > défiler la fiche vers la gauche, la souris sur le bouton "Fermer" fait > réagir le bouton "Réduire" ![]() > > Paul TOTH a écrit : >> ah ben non, j'ai le soucis aussi sans le TFrame >> >> en fait, si je déplace une fiche en bas à droit histoire d'avoir des >> scrollbars, que je scrolle ma fiche, et bien l'autre TForm ne cliquent >> plus ![]() >> >> à vu de nez, Windows considèrerait toujours le composant à son >> ancienne place...sauf que du coup il réagit bizarre vu qu'il doit pas >> répondre correctement aux NC_HITTEST & Cie >> >> voici une appli de test >> >> TForm1 crée deux TForm2 >> >> TForm2 intercepte juste WM_WINDOWPOSCHANGED sinon Form1 n'ajuste pas >> ses scrollbars >> >> Paul TOTH a écrit : >>> j'ai une appli avec une fiche principale en AutoScroll >>> >>> dedans je crée des TForm dont le parent est la fiche principale >>> >>> quand je déplace mes fiches enfant, l'autosroll joue son rôle et je >>> peux déplacer tout comme je veux (le tout ressemble à ce que Access >>> propose pour définir les liens entre tables, chaque table étant un >>> TForm avec un TListBox) >>> >>> maintenant j'aimerai placer un TPanel sur la gauche de ma fiche avec >>> quelques infos >>> >>> le pb est alors que mes fiches enfants peuvent se balader au dessus >>> du TPanel et que mes scrollbars font scroller le TPanel >>> >>> du coup je place un TFrame en AutoScroll à droite du TPanel et j'en >>> fait le parent de mes fiches enfants. >>> >>> et ben là ça merdoit...Des fois je peux plus déplacer une fiche, même >>> la souris ne change plus d'aspect (redimensionner les bords), seuls >>> les controles à l'intérieur réagissent. >>> >>> j'ai testé avec un TForm à la place du TFrame c'est pareil...ça vous >>> dit quelque chose ? >> > > > ------------------------------------------------------------------------ > |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
oups !
j'ai pas sauvegardé le projet avant de faire le ZIP ![]() il manque 2 choses dans TForm1 procedure TForm1.FormCreate(Sender: TObject); begin with TForm2.Create(Self) do begin Parent:=Self; Top:=10; Left:=10; end; with TForm2.Create(Self) do begin Parent:=Self; Top:=50; Left:=50; end; end; et il manque un inherited dans TForm2 procedure TForm2.WMWindowPosChanged(var Msg: TMessage); begin inherited; Form1.Realign; Form1.Invalidate; end; par contre, ce que je soupçonnais s'est avéré...le bug ne se produit pas sous 2K !!! Paul TOTH a écrit : > ah ben non, j'ai le soucis aussi sans le TFrame > > en fait, si je déplace une fiche en bas à droit histoire d'avoir des > scrollbars, que je scrolle ma fiche, et bien l'autre TForm ne cliquent > plus ![]() > > à vu de nez, Windows considèrerait toujours le composant à son ancienne > place...sauf que du coup il réagit bizarre vu qu'il doit pas répondre > correctement aux NC_HITTEST & Cie > > voici une appli de test > > TForm1 crée deux TForm2 > > TForm2 intercepte juste WM_WINDOWPOSCHANGED sinon Form1 n'ajuste pas ses > scrollbars > > Paul TOTH a écrit : >> j'ai une appli avec une fiche principale en AutoScroll >> >> dedans je crée des TForm dont le parent est la fiche principale >> >> quand je déplace mes fiches enfant, l'autosroll joue son rôle et je >> peux déplacer tout comme je veux (le tout ressemble à ce que Access >> propose pour définir les liens entre tables, chaque table étant un >> TForm avec un TListBox) >> >> maintenant j'aimerai placer un TPanel sur la gauche de ma fiche avec >> quelques infos >> >> le pb est alors que mes fiches enfants peuvent se balader au dessus du >> TPanel et que mes scrollbars font scroller le TPanel >> >> du coup je place un TFrame en AutoScroll à droite du TPanel et j'en >> fait le parent de mes fiches enfants. >> >> et ben là ça merdoit...Des fois je peux plus déplacer une fiche, même >> la souris ne change plus d'aspect (redimensionner les bords), seuls >> les controles à l'intérieur réagissent. >> >> j'ai testé avec un TForm à la place du TFrame c'est pareil...ça vous >> dit quelque chose ? > |
|
![]() |
| Outils de la discussion | |
|
|