|
|
Несколько слов от автора:
Несколько слов от автора:
Здорова! Вначале начну с прошлой темы опроса: наконец-то вы зашевелились :)! Пошли поступать вопросы, но пока кое-как. Доска почета стала
толстеть :). Но пока никто не откликнулся вести рубрики "рецензии книг" и просто присылать коды, давайте не спите. И еще спасибо всем
тем, кто меня поддержал в трудную минуту, большое спасибо. Но еще была и критика, тоже спасибо, навели вы меня на путь истинный :). И еще
чуть не забыл: срочно требуется дизайн сайта по VB, все очень просто ссылка архив, коды и т.п. (я бы и сам сделал, но как-то времени не хватает).
Мой e-mail в конце рассылки.
ПРИМЕЧАНИЕ: Выпуски данной рассылки начиная с первого вы сможете прочитать на http://subscribe.ru/archive/comp.design.snoozex/
@LEXis
|
|
20.01.2001 Выпуск N15 Обзор ведет хороший :) @LEXis
# В разделе приемы с WINDOWS на VB:
| Как блокировать "крестик" в TitleBar`e программы |
| Как показать окно выбора папки |
# В разделе вопросы/ответы:
| Ответы на вопросы читателей |
| Как блокировать "крестик" в 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
З.Ы. Этот пример подходит и для других функций
|
|
Код моей кнопки:
Код моей кнопки:
<!-- 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 |
|
Рассылка является составной частью проекта "СообЧа - СООБщество ЧАйников"
(С) 2000 СообЧа (СООБщество ЧАйников)
|
|
| |