[delphi] Sizeable form, maar zonder icoontje

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Hi, ik heb een form die ik er net zo uit wil laten zien als het common open dialog (qua border dan). Ik wil dus dat het te resizen is, dat ie geen icoontje heeft, maar wel een [X]-knop.

Ik heb al wel wat geprobeerd:
BorderStyle=bsSizeable en BorderIcons=[biSystemMenu] geeft wel een icoontje. Als ik dan het icoontje "weghaal" met WM_SETICON, dan krijg ik een standaard windows-icoontje. BorderIcons=[] geeft weliswaar geen icoontje (geen system menu) maar ook geen [X]-knop. En het lijkt dat BorderStyle=bsSizeable de enige is die het form ook resizeable maakt, naast bsSizeToolWin dan.

Hoe los ik dit op?

日本!🎌


  • Kool
  • Registratie: September 1999
  • Niet online
Dit doet het hem.

BorderStyle = bsSizeToolWin

[ Voor 24% gewijzigd door Kool op 22-05-2004 20:48 ]


  • Kool
  • Registratie: September 1999
  • Niet online
Oh nee zal wel niet zijn wat je bedoelt, want SizeToolWin noem je al...
Maar toch krijg je dan een sizable form met alleen een X'je... :?

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Ja, maar dan krijg je een kleinere titelbalk... dat heeft een open dialog ook niet, en dat wil ik dus ook niet ;)

日本!🎌


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Zelf sizable maken dmv WM_NCHITTEST zou ook kunnen.

We adore chaos because we like to restore order - M.C. Escher


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 25-05 16:04

alienfruit

the alien you never expected

bsDialog geeft toch geen icoontje :?
fsDialog geeft toch geen icoontje, naja iig Dialog kiezen FormStyle-property :)

[ Voor 56% gewijzigd door alienfruit op 23-05-2004 18:09 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
FormStyle heeft geen fsDialog keuze...
Zelf sizable maken dmv WM_NCHITTEST zou ook kunnen.
Kan, maar zou het common open dialog het ook zo doen :?

[ Voor 63% gewijzigd door _Thanatos_ op 23-05-2004 20:43 ]

日本!🎌


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 25-05 16:04

alienfruit

the alien you never expected

code:
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams( Params );
  Params.Style := WS_POPUP or WS_CAPTION or WS_SIZEBOX or WS_SYSMENU;
  Params.ExStyle := WS_EX_DLGMODALFRAME;
end;

procedure TForm2.CreateWnd;
begin
  inherited CreateWnd;
  SendMessage( Handle, WM_SETICON, 1, 0 );
end;


Toevoegen aan je FormCreate ofzo, hoef je alleen nog je resizing code te voegen. Zou volgens mij ook zonder moeten, iig WM_NCHITTEST is goed. Misschien WM_RESIZE probleem
Nou ik heb het gevonden hoor, vul plezier ermee! Wel effe deze twee functies definieren en overriden!

[ Voor 60% gewijzigd door alienfruit op 23-05-2004 22:57 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
_/-\o_

Niet definiëren, dat doe jij al :)
Declareren bedoel je, in de protected section (voor de noebs: ff maken dus als je form die nog niet heeft)

Maareh, potverdikkie nog an toe, het werkt wel... je moet er maar op komen. Tis maar goed dat ik er geen krat bier voor verloot heb, want die had ik dus mooi onder rembours kunnen opsturen dan :Y)

日本!🎌


Verwijderd

[knip]
hier stond iets van iemand die niet gelezen had.

[ Voor 83% gewijzigd door Verwijderd op 24-05-2004 05:29 ]

Pagina: 1