To MiGan и ко всем остальным:
Абсолютно такая-же байда,слово в слово:
Как написано в MSDN - Initialize, потом Load, потом Activate... Если до первой загрузки формы вызываешь ее проперт, то в том же порядке.
проблема в том, что у меня почему-то некоторые из этих событий проскакивают:) т.е. допустим, при загрузке формы в событии Load идет вызов другой процедуры, в которой происходят изменения в элементах управления формы (блокировка, отображение информации и др.), так вот при вызове формы эти изменения не происходят!! Самое ужасное!Я идиот! Убейте меня, кто-нибудь!! Если расставить в этих местах брейкпоинты то все будет выполнено как надо!!!:(
Как можно обойти эту проблему??? Неужели циклы задержки придется писать????
MiGan,поделись,пожалуйста,откуда кривые руки растут?
Пардон, я нашел уже ошибку - там дело не в порядке событий а в кривых ручках:) Всем большой respect за отзывы!!!
В смысле где ошибка? И если ещё кто может подскажите,плз.
Нужно,чтобы при старте проги (или после) она читала датафайл с записями для какой-либо календарной даты(если она есть) и выводила эту дату Bold.
В принципе всё работает как надо((на этом этапе)прога в процессе родов).Не могу допереть-куда всунуть ChckDate() ,чтобы после загрузки было видно даты,где есть(или будут) записи в Bold в соответствии с датафайлом.
В форме есть:
MonthView1
Text1
Label1-5
Command1-2
- Код: Выделить всё
Option Explicit
Dim CRLF As String
Dim DtClick As Date
Dim DataPath As String
Private Sub Form_Activate()
ChckDate 'Это работает только в процессе отладки
End Sub
Private Sub Form_Click() 'Это работает!
ChckDate
End Sub
Private Sub MonthView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim iResult As Integer
Dim dtMyDate As Date
Dim DateString As String
iResult = MonthView1.HitTest(x, y, dtMyDate)
DateString = DatePart("d", dtMyDate) & " " & WeekdayName(DatePart("w", dtMyDate, vbUseSystemDayOfWeek)) & "," & MonthName(DatePart("m", dtMyDate))
MonthView1.ToolTipText = DateString & ": " & Text1.Text
Label1.Caption = dtMyDate
Label2.Caption = DateString
End Sub
Private Sub Form_Load()
DataPath = "c:\program files\calendar\cdata.txt"
CRLF = Chr(13) & Chr(10)
MonthView1.Value = Date
'Form1.Height = 2745
Me.Show 'Попробовал- ноль эмоций
ChckDate 'Вот тут должно происходить событие
End Sub
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Dim DtText As String
DtClick = DateClicked
'Form1.Height = 4440
DtText = DatePart("d", DateClicked) & " " & WeekdayName(DatePart("w", DateClicked, vbUseSystemDayOfWeek)) & "," & MonthName(DatePart("m", DateClicked))
Label3.Caption = "DateClicked = " & DateClicked
Label4.Caption = DtText
End Sub
Private Sub Command1_Click() 'Submit
'Form1.Height = 2745
Dim txLen As Integer
txLen = Len(Text1.Text)
MonthView1.DayBold(DtClick) = txLen
Open DataPath For Append As #1
Write #1, DtClick, Text1.Text
Close #1
End Sub
Private Sub Command2_Click() 'Delete
Text1.Text = ""
MonthView1.DayBold(DtClick) = False
Form1.Height = 2745
End Sub
Private Sub ChckDate() 'Ставлю BreakPoint ,затем пошагово-всё красиво! Даты выделяются в соответствии с датафайлом!
' УбираюBreakPoint-запускается календарь без выделеных дат. Куда эту процедуру всунуть?
Dim FileDate As Date
Dim FileEntry As String
Open DataPath For Input As #1
While Not EOF(1)
Input #1, FileDate, FileEntry
MonthView1.DayBold(FileDate) = True
Wend
Close #1
End Sub
Надеюсь,описал проблему подробно.
Имеющий уши, да услышит.. (с) Новый Завет От Матфея святое благовествование