Q&A

  • [Q]윈도우 스타일에 관해서요?
질문하나 드리겠슴다.



윈도우 스타일이 bsNone상태에서 그러니까...어떤상태이신지 아시겠져.

그 상태에서 크기 조절만 가능하게 할려면 어케 해야 할까요?

저는 bsSizeble상태에서 caption바만 뺄려고 하는데 잘안되네요.

알려주심 감사하겠슴다.

4  COMMENTS
  • Profile
    김상면 2001.04.25 01:20
    정용진 wrote:

    > 질문하나 드리겠슴다.

    >

    > 윈도우 스타일이 bsNone상태에서 그러니까...어떤상태이신지 아시겠져.

    > 그 상태에서 크기 조절만 가능하게 할려면 어케 해야 할까요?

    > 저는 bsSizeble상태에서 caption바만 뺄려고 하는데 잘안되네요.

    > 알려주심 감사하겠슴다.



    질문을 내용을 정확히 이해 못했습니다...



    참고로 캡션바 없애는 방법은 아래와 같습니다...



    procedure TForm1.CreateParams(var Params: TCreateParams);

    begin

    inherited CreateParams(Params);

    Params.Style := Params.Style and not WS_OVERLAPPEDWINDOW or WS_BORDER ;

    end;



    건강하시구요, 행복하세요....



    그럼 이만...

  • Profile
    정용진 2001.04.25 02:13
    예제 코드를 삽입하여 해 봤는데.

    안되는데요?

    질문이 이해가 잘 안되신다면..... 큰일인데....쩝



    크기조절이 가능한 윈도우 스타일이 기본이잖아요.

    근데....크기조절이 가능한 상태에서 저는 캡션바를 없앨려구 합니다.

    근데, 정말 정말 잘 안되네요. T.T;





    김상면 wrote:

    > 정용진 wrote:

    > > 질문하나 드리겠슴다.

    > >

    > > 윈도우 스타일이 bsNone상태에서 그러니까...어떤상태이신지 아시겠져.

    > > 그 상태에서 크기 조절만 가능하게 할려면 어케 해야 할까요?

    > > 저는 bsSizeble상태에서 caption바만 뺄려고 하는데 잘안되네요.

    > > 알려주심 감사하겠슴다.

    >

    > 질문을 내용을 정확히 이해 못했습니다...

    >

    > 참고로 캡션바 없애는 방법은 아래와 같습니다...

    >

    > procedure TForm1.CreateParams(var Params: TCreateParams);

    > begin

    > inherited CreateParams(Params);

    > Params.Style := Params.Style and not WS_OVERLAPPEDWINDOW or WS_BORDER ;

    > end;

    >

    > 건강하시구요, 행복하세요....

    >

    > 그럼 이만...

  • Profile
    김상면 2001.04.25 02:46
    책보고 고대로 베꼈습니다...(휴 타이핑하기 힘드네요...)



    함 해보시길...



    전 잘되더군요...



    건강하세요....





    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    procedure HideTitlebar;

    procedure ShowTitlebar;

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.HideTitlebar;

    var

    Save : LongInt;

    begin

    if BorderStyle=bsNone then Exit;



    Save := GetWindowLong(Handle, gwl_Style);



    if (Save and ws_Caption)=ws_Caption then

    begin

    case BorderStyle of

    bsSingle, bsSizeable :

    SetWindowLong(Handle, gwl_Style, Save and (Not(ws_Caption)) or ws_border);

    // bsDialog :

    // SetWindowLong(Handle, gwl_Style, Save and (Not(ws_Caption)) or ws_modalframe or ws_dlgframe);

    end;

    Height := Height-getSystemMetrics(sm_cyCaption);

    Refresh;

    end;

    end;



    procedure TForm1.ShowTitlebar;

    var

    Save : LongInt;

    begin

    if BorderStyle = bsNone then Exit;



    Save := GetWindowLong(Handle, gwl_Style);

    if (Save and ws_Caption)<> ws_Caption then

    begin

    case BorderStyle of

    bsSingle, bsSizeable :

    SetWindowLong(Handle, gwl_Style, Save or ws_Caption or ws_border);

    // bsDialog :

    // SetWindowLong(handle, gwl_Style, Save or ws_Cation or ds_modalframe or ws_dlgframe);

    end;

    Height := Height+getSystemMetrics(sm_cyCaption);

    Refresh;

    end;

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    ShowTitlebar;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    begin

    HideTitlebar;

    end;



    end.



  • Profile
    정용진 2001.04.25 04:32
    김상면 wrote:

    > 책보고 고대로 베꼈습니다...(휴 타이핑하기 힘드네요...)

    >

    > 함 해보시길...

    >

    > 전 잘되더군요...

    >

    > 건강하세요....

    >

    >

    > unit Unit1;

    >

    > interface

    >

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > StdCtrls;

    >

    > type

    > TForm1 = class(TForm)

    > Button1: TButton;

    > Button2: TButton;

    > procedure Button1Click(Sender: TObject);

    > procedure Button2Click(Sender: TObject);

    > private

    > procedure HideTitlebar;

    > procedure ShowTitlebar;

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.HideTitlebar;

    > var

    > Save : LongInt;

    > begin

    > if BorderStyle=bsNone then Exit;

    >

    > Save := GetWindowLong(Handle, gwl_Style);

    >

    > if (Save and ws_Caption)=ws_Caption then

    > begin

    > case BorderStyle of

    > bsSingle, bsSizeable :

    > SetWindowLong(Handle, gwl_Style, Save and (Not(ws_Caption)) or ws_border);

    > // bsDialog :

    > // SetWindowLong(Handle, gwl_Style, Save and (Not(ws_Caption)) or ws_modalframe or ws_dlgframe);

    > end;

    > Height := Height-getSystemMetrics(sm_cyCaption);

    > Refresh;

    > end;

    > end;

    >

    > procedure TForm1.ShowTitlebar;

    > var

    > Save : LongInt;

    > begin

    > if BorderStyle = bsNone then Exit;

    >

    > Save := GetWindowLong(Handle, gwl_Style);

    > if (Save and ws_Caption)<> ws_Caption then

    > begin

    > case BorderStyle of

    > bsSingle, bsSizeable :

    > SetWindowLong(Handle, gwl_Style, Save or ws_Caption or ws_border);

    > // bsDialog :

    > // SetWindowLong(handle, gwl_Style, Save or ws_Cation or ds_modalframe or ws_dlgframe);

    > end;

    > Height := Height+getSystemMetrics(sm_cyCaption);

    > Refresh;

    > end;

    > end;

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > ShowTitlebar;

    > end;

    >

    > procedure TForm1.Button2Click(Sender: TObject);

    > begin

    > HideTitlebar;

    > end;

    >

    > end.

    >