вопросик про меню и bordersyle

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Shasha
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 106
Зарегистрирован: 08.11.2005 (Вт) 15:09

вопросик про меню и bordersyle

Сообщение Shasha » 24.02.2006 (Пт) 12:36

Есть форма.BorderStyle у неё 0. заголовок не показывается, но при создании меню (ctrl+E) он появляется, как убрать заголовок!? помогите плиз!
С Уважением,
Shasha

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 24.02.2006 (Пт) 12:59

Честно говоря, по моему нельзя создать в ВБ форму с меню и без заголовка. Но ты можешь попытаться поэксперементировать с SetWindowLong.
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.02.2006 (Пт) 13:09

Никак.
Но можно сделать вспомогательную (невидимую) форму, в которой будет меню, и вызывать его.
Lasciate ogni speranza, voi ch'entrate.

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 24.02.2006 (Пт) 15:39

Ставь у формы caption="", ControlBox=False и радуйся жизни!
Я знаю верный путь

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.02.2006 (Пт) 17:12

Рамка все-равно будет создана.
Lasciate ogni speranza, voi ch'entrate.

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Re: вопросик про меню и bordersyle

Сообщение Q2W » 24.02.2006 (Пт) 17:21

Shasha писал(а):... заголовок не показывается ... как убрать заголовок ...
Я знаю верный путь

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 24.02.2006 (Пт) 17:42

Достаточно задать форме регион (CreateRectRgn, SetWindowRgn), сохранив при этом текст заголовка и свойства окна.

Код: Выделить всё
Option Explicit

Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32.dll" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Sub Form_Load()
    With Me
        .BorderStyle = vbFixedSingle
        .Caption = "Some title"
    End With
    Dim hRgn As Long
    hRgn = CreateRectRgn(0, 30, 150, 130)
    Call SetWindowRgn(Me.hWnd, hRgn, True)
End Sub
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Smith68
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 92
Зарегистрирован: 02.09.2005 (Пт) 19:08
Откуда: Тамбов, Моршанск

Сообщение Smith68 » 27.02.2006 (Пн) 8:55

А мне понравился метод Q2W. Легко и просто, а результат!
Вчера на работе получил производственную травму: ударил палец о палец.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 87

    TopList