Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Запись текущей позиции и размера формы при помощи savesetting

Читайте также:
  1. Gt; знак пресуппозиции, <———> знак противоречия).
  2. I. Восприятие формы
  3. II. Основные формы существования материи.
  4. II. Функции школьной формы
  5. III. Формы аттестации по программе
  6. Networking - связи и взаимопомощь как формы продвижения бизнеса
  7. А какие формы миссионерской деятельности приняты в нашей Церкви сегодня?

VB4 16/32, VB5
Level: Intermediate
Функции SaveSetting и GetSetting облегчают написание сеттингов в аппликухах. Эти две функции восстанавливают и запоминают текущие позиции формы:

Public Sub FormPosition_Get(F As Form)
' Считывает позицию формы F из
' ini/reg файла и соответственно
' позиционирует форму
Dim buf As String
Dim l As Integer, t As Integer
Dim h As Integer, w As Integer
Dim pos As Integer

buf = GetSetting(app.EXEName, _
"FormPosition", F.Tag, "")
If buf = "" Then
' defaults для центрирования фромы
F.Move (Screen.Width - F.Width) \ _
2, (Screen.Height - F.Height) \ 2
Else
' выделить l,t,w,h и выставить форму
pos = InStr(buf, ",")
l = CInt(Left(buf, pos - 1))
buf = Mid(buf, pos + 1)
pos = InStr(buf, ",")
t = CInt(Left(buf, pos - 1))
buf = Mid(buf, pos + 1)
pos = InStr(buf, ",")
w = CInt(Left(buf, pos - 1))
h = CInt(Mid(buf, pos + 1))
F.Move l, t, w, h
End If
End Sub

Public Sub FormPosition_Put(F As Form)
' Пишет op,left,height и
' width позиции формы F в reg/ini файл аппликухи
Dim buf As String
buf = F.left & "," & F.top & "," & _
F.Width & "," & F.Height
SaveSetting app.EXEName,_
"FormPosition", F.Tag, buf
End Sub

Вам следует поместить эти процедуры в модуль и вызывать их из событий Load и Unload форм. Вы должны написать имя формы в ее свойство Tag, чтобы эти процедуры работали корректно

Sub Form_Load()
FormPosition_Get Me
End Sub
Sub Form_Unload()
FormPosition_Put Me
End Sub

ЭФФЕКТИВНОЕ ИСПОЛЬЗОВАНИЕ ВНУТРЕННИХ VB КОНСТАНТ

VB4 16/32, VB5
Level: Beginning

Мне приходилось видеть некоторые советы по использованию числовых значений вместо соответствующих VB констант. Например, Вы можете вывести message box, используя числовые константы:

rc = MsgBox(msg, 4 + 32 + 256, "Confirm Delete")

Но не легче ли прочесть следующее?

rc = MsgBox(msg, vbYesNo + vbQuestion _
+ vbDefaultButton2, _
"Confirm Delete")

Вы можете использовать следующие константы для check box:

VbUnchecked =0
VbChecked =1
VbGrayed =2

Также полезно знать строковые константы вместо соответствующих chr$(символы ASCII):

vbTab instead of Chr$(9)
vbCr instead of Chr$(13)
vbLf instead of Chr$(10)
vbCrLf instead of Chr$(13)+Chr$(10)

26 ПРАВИЛЬНЫЙ ТЕСТ НА "FILE EXIST"

VB3, VB4 16/32, VB5
Level: Intermediate

Dir$ генерирует runtime error, если ему суют несуществующее имя диска. Например, Dir$ ("d:\win\himems.sys") умирает, если драйв d: не существует. Для проверки существования файла, добавьте обработчик ошибки:

Function FileExist(filename As String) _
As Boolean
On Error Resume Next
FileExist = Dir$(filename) <> ""
If Err.Number <> 0 Then FileExist _
= False
On Error GoTo 0
End Function


Дата добавления: 2015-08-21; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Cодержание| ВЫБРАТЬ ВСЕ ФАЙЛЫ ПО МАСКЕ В ПОДДЕРЕВЕ КАТАЛОГОВ

mybiblioteka.su - 2015-2024 год. (0.006 сек.)