Мир программирования на Visual BASIC и HTML
Информация
  SnoozeX Design
  VB Проекты
  Архив рассылки
  Рассылка

Спонсоры
  Городской кот
  Subscribe.Ru
  Russian Surf

Ссылки
  VB Streets
  Visual BASIC
  VB: Step by Step
  SnoozeX Design
  СообЧа

VB Форумы
WEB:
  VBS Форум
  Ru.Visual.Basic
Mail:
  VBStreets
  СообЧа: VB
  подписка - пустое   письмо в VB группу

Доска почета
  Sergey VIMBERG
  Олег

Вопросы
  В рассылку
  Автору
  По VB

Кнопки

Рассылка 'Мир программирования на Visual BASIC и HTML.'

мы в режиме:

SUPERTOP
Несколько слов от автора:
Несколько слов от автора: Здорова! Вначале начну с прошлой темы опроса: наконец-то вы зашевелились :)! Пошли поступать вопросы, но пока кое-как. Доска почета стала толстеть :). Но пока никто не откликнулся вести рубрики "рецензии книг" и просто присылать коды, давайте не спите. И еще спасибо всем тем, кто меня поддержал в трудную минуту, большое спасибо. Но еще была и критика, тоже спасибо, навели вы меня на путь истинный :). И еще чуть не забыл: срочно требуется дизайн сайта по VB, все очень просто ссылка архив, коды и т.п. (я бы и сам сделал, но как-то времени не хватает). Мой e-mail в конце рассылки.
ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/
   @LEXis

20.01.2001 Выпуск N15 Обзор ведет хороший :) @LEXis

 Сегодня в выпуске:

# В разделе приемы с WINDOWS на VB
:
Как блокировать "крестик" в TitleBar`e программы
Как показать окно выбора папки
# В разделе вопросы/ответы:
Ответы на вопросы читателей

 Приемы с WINDOWS на VB:
Как блокировать "крестик" в TitleBar`e программы
Подготовте проект, добавив в него форму.
Добавте в форму:

----

Option Explicit

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) _
As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) _
As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, _
ByVal nPosition As Long, ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400
Const MF_REMOVE = &H1000

Private Sub Form_Load()

Dim hSysMenu As Long, nCnt As Long
' Получаем дескриптор системного меню нашей формы
hSysMenu = GetSystemMenu(Me.hwnd, False)
    If hSysMenu Then
        nCnt = GetMenuItemCount(hSysMenu)
        If nCnt Then
            RemoveMenu hSysMenu, nCnt - 1, MF_BYPOSITION Or MF_REMOVE
            RemoveMenu hSysMenu, nCnt - 2, MF_BYPOSITION Or MF_REMOVE
' Удаляем разделитель
            DrawMenuBar Me.hwnd
            ' Регенерация TitleBar. Отключение кнопки
Close
            Me.Caption = "Попробуй закрыть!"
        End If
    End If
End Sub

----
Как показать окно выбора папки
Подготовте проект, добавив в него форму.
Добавте в форму:

----

'Необходимые константы
Const BIF_RETURNONLYFSDIRS = 1
Const BIF_DONTGOBELOWDOMAIN = 2
Const MAX_PATH = 260

'Декларации API
Private Declare Function SHBrowseForFolder Lib "shell32" _
(lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" _
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal lpString2 As String) As Long

'Тип для передачи в функцию
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type

Private Sub Form_Load()
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
'Замените строку "Выберите папку" на нужную вам строку заголовка окна. 
szTitle = "Выберите папку"
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
'Значение sBuffer содержит директорию, выбранную в диологовом окне 
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
MsgBox sBuffer
End If
End Sub

----

 Вопросы / Ответы
Вопрос от Олег
Привет всем!
Что такое хост?В расширеном понимании.
Вопрос от turbo@kris.krasnoyarsk.su
1.Как переместить указатель мыши в нужную часть экрана, используя код VB
2.Как инициировать нажатие кнопки меню из текста программы.

Заранее благодарю.

Ответ от @LEXis`a
Отвечаю на вопрос 2:
Инциировать нажатие кнопки из текста программы очень просто:
Private Sub Menu_Click ()
Beep
End Sub

Private Sub Command1_Click ()
Menu_Click
End Sub

З.Ы. Этот пример подходит и для других функций

Программы разработанные автором на VB 6.0

Secret CODE Ver. 1.0
Программа для шифровки данных. Не доделана. Требуются программеры для помощи.

Источник: SnoozeX Design


Код моей кнопки:
Код моей кнопки:

<!-- SnoozeX Design "PLAY" -->
<a href="http://snoozex.boom.ru" TARGET="_blank"><BR><IMG SRC="http://snoozex.boom.ru/new.gif" WIDTH=88 HEIGHT=31 BORDER=1 ALT="SnoozeX Design"></a>
<!-- SnoozeX Design "END" -->

Copyright © 2000 @LEXis
Design by SnoozeX Design
Email : snoozex@mail.ru
ICQ uin : 14912636
Подписаться на рассылку Кувалина Алексея
Мир программирования на Visual BASIC и HTML
Рассылка является составной частью проекта "СообЧа - СООБщество ЧАйников"
Сайт СообЧа: http://www.soobcha.ru/
Сайт SnoozeX DESIGN: http://snoozex.boom.ru/
Подписаться на сообщество
(С) 2000 СообЧа (СООБщество ЧАйников)
Спасибо за внимание. Ваш @LEXis

 

 

Home ] Up ] О группе ] Статьи ] Исходники ] Орфография ] Приёмы ] Проекты ]

Хостинг от uCoz