Вообщем нужна плоская форма без заголовка, без рамки. В редакторе ресурсов сделаю такой (flat поставлю), компилишь, запускаешь, а у нее заголовок. Таже хрень и при создании окна CreateWindow'ом.
Дайте мне тупо эти циферки которые дать нужно окну: style и exstyle
ну или перечислите эти константы WS_ DS_
А то я на грани отчаяния ужо хочу регион прямоугольный вырезать, чтоб этой рамочки с заголовком небыло. Недавно в API просто.
Цитата
Билл Гейтс плохо учился в школе. Бывало, только смотрит в окно и ничего не делает. Любил он окна.
Для создания окна без заголовка с любым стилем контура сделайте следующее:
Добавьте объявление процедуры
procedure CreateParams(var Params: TCreateParams); override;
и ее реализацию:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
Style := (Style OR WS_POPUP) AND NOT WS_DLGFRAME;
end;
Установите BorderStyle в bsSizeable.
Да этож дельфи, там то это без проблем. А я окно на АПИ леплю. Так вот мне и надо всего 2 циферки:
Style и exStyle окна. Эти константы как только не сочетал, запускаю - шиш.
Для: AdiSan
Вы бы показали че там у вас.
API API, оно везде апи, а вот синтаксис разный.
А че там показывать, делаю окно из ресурса Dialog, плоское оно не получается. Пробовал и в С++ диалог About сделать плоским тоже не получилось.
Для: AdiSan
Не хотите, как хотите.
Да собсно че показать то, ну вот:
#define IDD_DLG1 1000
IDD_DLG1 DIALOGEX 6,6,200,123
CAPTION "IDD_DLG"
FONT 8,"MS Sans Serif",0,0
STYLE 0x100B0000
BEGIN
END
это из файла .rc
в редакторе плоская, а запускаешь - заголовок всетаки торчит
Делаю я на FreeBasic'е, но как говорил уже на сях тож не получается
вот так на паскале
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
а вам надо синтаксис вашего бейсика смотреть
Вот это то что надо, только окно получается объемное/приподнятое и ресайзится. какую еще константу снять чтобы была абсолютно плосткой
WS_POPUP и WS_BORDER
Вам надо было изночально оговорить в чем пишете, т.к. это вносит свои нюансы.
К примеру в Delphi операция AND она и в логике и в побитовых, а в с++ это уже не так, там ! и ~ соответсвенно, отсюда и непонятки могут быть.
Да и ваще всегда надо указывать по возможности все данные, иначе плохо когда человек пришел просит помощи но при этом в партизана играет, тут же не детский сад.
sax_ol, спасибо.
Да причем тут на чем я пишу, изначально я просил дать мне 2 циферки - значение Style и ExStyle (щас ExStyle отпал за ненадобностью). Их же можно потом дать окну SetWindowLong'ом.
WS_POPUP и WS_BORDER
Чет ниче не получилось: форма действительно не ресайзится, но с 3D рамкой, которая мне не нужна.
Чтоб не запариваться, sax_ol, можешь мне дать функцию CreateWindowEx со всеми параметрами хоть на паскале, я все перевариваю, чтобы получилось плоское окошко, а то там то GetWLong не попрет.
Цитата(AdiSan @ 29:12:2007, 15:57 )
Да причем тут на чем я пишу
Если этого не поняли, то печально ... поэтому то вы и
Цитата(AdiSan @ 29:12:2007, 15:57 )
Чет ниче не получилось
PS: WS_POPUP надо добавить, а WS_BORDER убрать
>>PS: WS_POPUP надо добавить, а WS_BORDER убрать
Как то я не допер: ведь действительно выбор языка влияет на то, надо ли прибавлять или отнимать. Видите ли для этого мы в Дельфи убираем, а в Басике прибавляем.
Зачем умничать, просто помог бы, у меня опять нихрена не вышло. Из-за такого детского (для гуру) вопроса развили такие дебаты, зачем это.
Я знаю, что программисты умные люди, и я тоже!!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.