Страница: 1 | 2 | 3 | 4 |
Вопрос: проблема с меню в mdi и отобр. текста в textbox
Добавлено: 28.07.06 17:51
Автор вопроса: Dixon | ICQ: 262-393-953
Ответы
Всего ответов: 55
Номер ответа: 16
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #16
Добавлено: 29.07.06 17:32
жалко не льзя редактировать сообщения (, а то мысль в голову приходит и приходится писать новое сообщение
в общем я нашел злополучную строку:
Если её вырезаю, все пашет норм. Ща буду думать че с ней делать
Номер ответа: 17
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #17
Добавлено: 29.07.06 17:42
оказалось нужно было просто ввести глобальную переменную с строкой поиска, а не использовать само поле ввода:
Номер ответа: 18
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #18
Добавлено: 29.07.06 18:16
2 Dixon: 6 сообщений подряд! Респект))) За объяснение не благодари, всегда рад помочь (хотя думал, что объясню непонятно) ) .
Номер ответа: 19
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #19
Добавлено: 29.07.06 18:48
я ж говорю, плохо, что нельзя редактирвоать сообщения, я бы просто дописывал
но ещё остается несделаным 1 пункт, про строки и столбцы
Номер ответа: 20
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #20
Добавлено: 29.07.06 21:22
Мож чё-нить из этого:
Public Const EM_GETLINE = &HC4
Public Const EM_LINEINDEX = &HBB
Public Const EM_GETSEL = &HB0
(у меня MSDN c описанием констант нету, а на msdn.microsoft.com идти неохота. Уж простите... )
Номер ответа: 21
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #21
Добавлено: 29.07.06 22:55
- Да... Что - то я перемудрил. Бывает... ))
Ну, если Вы про это - то...
TextLine As Long
TextCol As Long
End Type
Private Sub Timer1_Timer()
Dim Info As TextCursorPos
Info = GetTextCursorPos(Text1)
Text2.Text = "Line - " + CStr(Info.TextLine) + " ; Column - " + CStr(Info.TextCol)
End Sub
Private Function GetTextCursorPos(Obj As TextBox) As TextCursorPos
Dim Ss As Long, Tt As String, vbCrlfCount As Long, vbCrlfPos As Long, oldvbCrlfPos As Long
Ss = Obj.SelStart
Tt = Mid(Obj.Text, 1, Ss)
Do
DoEvents
vbCrlfPos = InStr(1, Tt, vbCrLf)
If vbCrlfPos > 0 Then
vbCrlfCount = vbCrlfCount + 1
Tt = Mid(Tt, vbCrlfPos + 2)
oldvbCrlfPos = oldvbCrlfPos + vbCrlfPos + 1
Else
Exit Do
End If
Loop
With GetTextCursorPos
.TextCol = Ss - oldvbCrlfPos
.TextLine = vbCrlfCount + 1
End With
End Function
Прошу заметить, что как и в Блокноте, этот код будет работать корректно только если оба скруллера включены.
Номер ответа: 22
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #22
Добавлено: 29.07.06 23:13
Чё-та не верится, что код рабочий, щас проверим... )
Номер ответа: 23
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #23
Добавлено: 30.07.06 18:40
Спасибо Сереге! Код действительно работает. Только я решил таймер не добавлять, а вставить код обновления надписи в события KeyPress и MousePress. То есть он будет выполняться, только если юзер поставить курсор в другое место, а не постоянно.
Но, не поверите , возникла новая проблема. Я хочу чтоб эта инфа содержалась в панели инструментов, а не в статусбаре, как в блокноте. Label добавить в куллбар нельзя, поэтому я вставил обычное текстовое поле. Но теперь я не могу изменить цвет бэкграунда и шрифта это поля! Т.е. в режим проэктирования все нормально меняется, а вот запускаю проэкт, поле становится белым. Пока просто поставил поле enabled=false, но тогда шрифт очень бледный получается.
Так вот, подскажите плз как поменять цвет фона текстового поля в куллбаре? Или если нельзя, то как поменять цвет шрифта при enabled=false?
Номер ответа: 24
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #24
Добавлено: 30.07.06 18:44
и ещё, как поменять значие Scrollbars во время выполнения программы?
Номер ответа: 25
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #25
Добавлено: 30.07.06 18:54
и еще вопрос , когда юзер закрывает программу, она спрашивает сохранить документ или нет. Так вот, как сделать, чтобы при ответе "Отмена" программа не закрывалась, а продолжала работать?
Номер ответа: 26
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #26
Добавлено: 30.07.06 19:32
Я тут решил подсмотреть как среда VB меняет ScroolBars у текстбокса. Так вот, она не меняет свойства существующего окна TextBox. Она просто создает новый TextBox c другими свойствами. (hWnd меняется при изменении свойства ScroolBars). Тебе предлагаю то же самое. Создай в проге 2 текстбокса: первый - со ScroolBars=2, второй - ScroolBars=3, а когда юзер меняет стиль TextBox'а ты просто делаешь один из них невидимым, а второй видимым. Думаю, мысль понятна. Больше пока ничего в голову не приходит.
Хотя...
Короче, надо ещё помозговать
Номер ответа: 27
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #27
Добавлено: 30.07.06 19:41
Примерно так:
Select Case MsgBox("Close this window?", 36, "Proga"
Case 6
Set Form1 = Nothing
End
Case 7
Cancel = 1
End Select
End Sub
Номер ответа: 28
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #28
Добавлено: 30.07.06 20:23
ещё раз спасибо сереге, его советы очень помогли, только я сделал не 2 текстбокса, а 2 одинаковые формы, чтоб на них имя текстбоксов было одинаковым, а то много придется переделывать, но остается ещё 1 вопрос, насчет текста в кулбаре (см. выше)
Номер ответа: 29
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #29
Добавлено: 30.07.06 22:50
- Если кулбар глючит, то ИМХО можно не вставлять тексбокс в него, а повесить текстбокс над ним, чтобы его Parent'ом была сама форма...
Или это по каким - то причинам невозможно?
Номер ответа: 30
Автор ответа:
Dixon
ICQ: 262-393-953
Вопросов: 8
Ответов: 78
Профиль | | #30
Добавлено: 31.07.06 14:35
Ещё хотелось бы узнать максимальный размер файла, который можно загружать в textbox. Вот не помню точно, то ли 32кб, то ли 64.