Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2007, 09:13   #1
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию Окна

Доброе время суток . У меня вопрос по оформлению окон. Я создаю окно на дельфи ( без апи ) НО ... стиль к нему такой
Код:
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and (not WS_CAPTION) or WS_BORDER);
все бы отлично, но хотелось бы чтобы данное окошко не меняло размеров. Как такое реализовать ?
BOBAH13 вне форума Ответить с цитированием
Старый 27.10.2007, 11:35   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

А если так:
Код:
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_EXSTYLE ) and 
(not WS_CAPTION) or WS_BORDER);
Alex21 вне форума Ответить с цитированием
Старый 27.10.2007, 15:36   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

гм... Вы немного перепутали наверное, я же делаю GetWindowLong(Handle, GWL_STYLE ) чтобы получить флаг уже установленный окну, Вы сделаете таким образ GetWindowLong(Handle, GWL_EXSTYLE ) флаг который был установлен EXStyle а не Style ) так что я думаю немного не то...
BOBAH13 вне форума Ответить с цитированием
Старый 27.10.2007, 17:19   #4
Slovinsky
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 79
По умолчанию

Ну, насчет GWL_EXSTYLE конечно же ерунда, но вот так - попробуйте:

SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not (WS_CAPTION or WS_THICKFRAME) or WS_BORDER);
Slovinsky вне форума Ответить с цитированием
Старый 27.10.2007, 17:57   #5
Slovinsky
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 79
По умолчанию

Ну и вопрос в догонку... А почему вы делаете через SetWindowLong, а не как требует классика жанра через перекрытие метода CreateParams? Или почему просто не подошел BorderSlyle = bsNone?
Slovinsky вне форума Ответить с цитированием
Старый 29.10.2007, 10:58   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

у BorderSlyle = bsNone у него бордюра нет ! а я же пример дал, попробуйте увидите, но мне надо чтобы окно не маштабировалось за края !

Цитата:
Сообщение от Slovinsky Посмотреть сообщение
Ну, насчет GWL_EXSTYLE конечно же ерунда, но вот так - попробуйте:

SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not (WS_CAPTION or WS_THICKFRAME) or WS_BORDER);

Попробую спасибо

Последний раз редактировалось rpy3uH; 29.10.2007 в 19:32.
BOBAH13 вне форума Ответить с цитированием
Старый 29.10.2007, 11:04   #7
Slovinsky
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 79
По умолчанию

Лучше всего делать так: Выставляем форме BorderSlyle = bsNone и пишем такой код:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle:=Params.ExStyle or WS_EX_DLGMODALFRAME;
end;

end.
Slovinsky вне форума Ответить с цитированием
Старый 29.10.2007, 12:02   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and (not WS_CAPTION) or WS_BORDER or WS_DLGFRAME);
пыщь

Последний раз редактировалось JTG; 29.10.2007 в 12:07.
JTG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDI Окна RIO Общие вопросы .NET 8 06.05.2008 16:06
Размер окна в зависимости от размера окна Reverent JavaScript, Ajax 1 02.02.2008 15:49
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13
окна KykQx Win Api 2 25.03.2007 21:48