Расширенный текстбокс, а также пара простых вопросов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 06.04.2012 (Пт) 6:56

Приветствую.
Начну с текстбокса. Задача: крайне желателен такой текстбокс, в котором можно менять шрифт и цвет какой то определенной части текста (да, речь идет о RichTextBox, но не хотелось бы зависеть от его библиотеки, и носить ее с собой тоже не хочется). Насколько мне известно, имеется лишь один вариант реализации - через UserControl, но с ним никогда не работал, поэтому желательно выяснить, как, например, заменять стандартные события текстбокса на свои (скажем, для собственного PopupMenu), etc
Кстати, насчет PopupMenu.. может есть возможность без лишних контроллов заменить его на собственное? Это так, для общего развития.
2: Столкнулся с необходимостью программным путем во время выполнения, без всяких кликов и кнопок менять выбранное (Selected) в ListBox, как это реализовать?
3: Также очень интересует как отловить событие <Scroll> (прокрутка текста) в текстбоксе. По умолчанию оного нет.
Последний вопрос насчет хорошего тона: подскажите, по правилам, какой префикс для обычного модуля будет правильным, mdl или mod?
Спасибо за внимание.
Последний раз редактировалось Rody66 06.04.2012 (Пт) 16:59, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 06.04.2012 (Пт) 9:55

Rody66 писал(а):Начну с текстбокса. Задача: крайне желателен такой текстбокс, в котором можно менять шрифт и цвет какой то определенной части текста (да, речь идет о RichTextBox, но не хотелось бы зависеть от его библиотеки, и носить ее с собой тоже не хочется)

Прервое, что нужно делать, это заняться собой и вести усердную работу над своим порочным нежеланием носить с собой библиотеки. Носить с собой библиотеки — это хорошо и правильно. Взять любую хорошую большую программу: она носит с собой библиотеки. И от этого она не становится плохой. Носить с собой библиотеки — это престижно.

Но даже с учётом этого, носить с собой RichEdit-овскую библиотеку не нужно: она есть во всех системах, кроме самых старых.

Rody66 писал(а): Насколько мне известно, имеется лишь один вариант реализации - через UserControl, но с ним никогда не работал, поэтому желательно выяснить, как, например, заменять стандартные события текстбокса на свои (скажем, для собственного PopupMenu), etc

А эта часть — бессмысленный текст, вызванный, видимо, не пониманием сути UserControl-а.

Rody66 писал(а):2: Столкнулся с необходимостью программным путем во время выполнения, без всяких кликов и кнопок менять выбранное (Selected) в ListBox, как это реализовать?

Как же это странно, когда такое спрашивают. Если человек работает с ListBox-ом, значит он вынужден как-то узнавать, какой сейчас выбран пункт. А если он умеет узнавать, какой сейчас выбран пункт, значит он автоматически умеет менять выбарнный сейчас пункт, ибо за обе задачи отвечает одно и то же свойство — ListIndex.

Rody66 писал(а):3: Также очень интересует как отловить событие <Scroll> (прокрутка текста) в текстбоксе. По умолчанию оного нет.

События нельзя отловить. Они не рыба, ведь. На событие можно подписаться, событие можно обработать. Раз события нет вообще, то и подписаться и обработать его вообще нельзя. Но это касается самого события, которого нет. Это не значит, что нельзя узнать о прокрутке. Узнать о прокрутке — можно. Нужно правильно ставить вопрос, понимаешь? :wink:

Rody66 писал(а):Последний вопрос насчет хорошего тона: подскажите, по правилам, какой префикс для обычного модуля будет правильным, mdl или mod?

По чьим правилам? Правила устанавливает твоё руководство. Если нет руководства, или оно есть, но не установило правила — правила определаешь для себя ты сам.
Каких-то глобальных правил, или правил, рекомендованных самим VB — нет.
Я для себя решил вообще не давать модулям никаких префиксов, а классам даю префикс «C». А если нажать F2 и посмотреть на встроенные модули и классы, будет видно, что ни для того, ни для другого вообще никаких префиксов не использовано.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение alibek » 06.04.2012 (Пт) 11:28

Хакер писал(а):Носить с собой библиотеки — это хорошо и правильно. Взять любую хорошую большую программу: она носит с собой библиотеки. И от этого она не становится плохой. Носить с собой библиотеки — это престижно.

Смотря в каком смысле "носить". И в зависимости от назначения программы.
Ряд больших и хороших программ (браузеры, текстовые редакторы, антивирусы) выпускается в portable-версиях (в том числе и официальных).
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 06.04.2012 (Пт) 15:32

Хоть я и не люблю идею Portable-версий... Вне зависимости от этого, portable-версия прекдполагает, что её можно носить на флешке и запускать на любом компьютере без предварительной установки. В этом ключевой момент, а не в том, что на флешке будет один EXE-файл вместо EXE-файла в окружении трёх-пяти DLL-шек.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение alibek » 06.04.2012 (Пт) 15:37

Хакер писал(а):В этом ключевой момент, а не в том, что на флешке будет один EXE-файл вместо EXE-файла в окружении трёх-пяти DLL-шек.

Ключевой момент относительно сабжа не в этом.
А в том, что почему-то у многих понятие "использование библиотек" ассоциируется с "требуется предварительная установка".
Lasciate ogni speranza, voi ch'entrate.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 06.04.2012 (Пт) 17:00

Но даже с учётом этого, носить с собой RichEdit-овскую библиотеку не нужно: она есть во всех системах, кроме самых старых.

Вот и я ума не приложу как так вышло, но на чистой Win 7 файл RICHTX32.OCX отсутствует, и при запуске приложения, использующего RichTextBox, выпрыгнет ошибка с сообщением об отсутствии RICHTX32.OCX. Чтобы зарегистрировать эту библиотеку, необходимы права админа, а при установке\запуске, запрашивать админские права мне хочется. Или все-таки уникально обрезанная семерка, которая только у меня?
Узнать о прокрутке — можно.

Разумеется, узнать. И получить какие то данные (скажем, на сколько прокручено и тд).
По чьим правилам?

По тем самым правилам хорошего тона, таким же, как и у форм - frm, у текстбоксов - txt и тд.
ListIndex

Премного благодарен. Странно, что сам данное свойство не попробовал.
Про Popup так и не было ответа:
может есть возможность без лишних контроллов заменить его на собственное?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 06.04.2012 (Пт) 17:05

Rody66 писал(а):
Но даже с учётом этого, носить с собой RichEdit-овскую библиотеку не нужно: она есть во всех системах, кроме самых старых.

Вот и я ума не приложу как так вышло, но на чистой Win 7 файл RICHTX32.OCX отсутствует

Если бы ты был внимательным, то заметил бы, что в моём посте было сказано RichEdit, а не RichTextBox.

Rody66 писал(а):Разумеется, узнать. И получить какие то данные (скажем, на сколько прокручено и тд).

А, ну, да.

Rody66 писал(а):По тем самым правилам хорошего тона, таким же, как и у форм - frm, у текстбоксов - txt и тд.

Кто их выдумал-то? Ой, а у меня у тексбоксов префикс «inp». Катастрофа, я нарушил некие незыблемые вечные правила хорошо тона, непонятно кем и для кого и когда выдуманные. Ещё раз, неужели непонятно, что правила каждый придумывает и выбирает себе сам.

Rody66 писал(а):Про Popup так и не было ответа:

Потому что спрашивался какой-то бред, и ответить на него нечего.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение ger_kar » 06.04.2012 (Пт) 19:53

Хакер писал(а):Хоть я и не люблю идею Portable-версий...
Интересно почему? Очень удобная вещь, если имеется Portable версия, то я всегда например предпочту ее обычной версии с установкой.
alibek писал(а):Ключевой момент относительно сабжа не в этом.А в том, что почему-то у многих понятие "использование библиотек" ассоциируется с "требуется предварительная установка"
Вот вот! Это точно, если простые Dll'ки не требующие регистрации, то все хорошо, а вот с библиотеками в которых живут всевозможные контролы возникает множество заморочек с регистрацией, наличием админских прав и т.п. Конечно технология COM очень удобна, но удобна, когда все необходимое есть в системе уже по умолчанию, а дополнительные библиотеки с контролами нужно использовать если по другому уже никак нельзя или очень сложно (ИМХО). Например такие, как Common Dialog, лучше заменить соответствующими WinApi функциями, ну и другие по возможности тоже.
Хакер писал(а):События нельзя отловить. Они не рыба, ведь.
Интересное замечание, хотя по сути "ловить событие" очень распространенная фраза, я и сам ее использую. Может это и не правильно, то тем не менее всем понятно, какой процесс имеется ввиду. Это все равно как вместо "отключили электроэнергию" большинство говорит "выключили свет" и тем не менее все друг друга понимают. И от таких привычек очень трудно избавится.

Хакер писал(а):Ещё раз, неужели непонятно, что правила каждый придумывает и выбирает себе сам.
Тут главное этих правил потом придерживаться, без сильной нужды не менять, не метаться от одного правила к другому и все будет нормально, в противном случае потом собственный код фиг разберешь, особенно если в нем куча модулей, написанных в разное время по разным правилам. Главное правило это что-бы было самому понятно и удобно.

Rody66 писал(а):3: Также очень интересует как отловить событие <Scroll> (прокрутка текста) в текстбоксе. По умолчанию оного нет.
Хакер писал(а):Это не значит, что нельзя узнать о прокрутке. Узнать о прокрутке — можно.
Единственное, что приходит мне на ум в данном случае так это только Сабкласинг (Subclassing) посредством которого можно будет ловить (вот опять этот термин проскочил ;) все оконные сообщения, и таким образом можно реализовать то что надо. Как делается сабклассинг писать смысла нет, ибо про это инфы навалом, поищи по форуму. Может есть и другая метода получить, то что тебе надо, но я про нее не знаю.
Если кто в курсе такой методы может поделятся, хотя бы названием ;)
Бороться и искать, найти и перепрятать

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение jangle » 06.04.2012 (Пт) 20:26

Rody66 писал(а):Приветствую.
Начну с текстбокса. Задача: крайне желателен такой текстбокс, в котором можно менять шрифт и цвет какой то определенной части текста (да, речь идет о RichTextBox, но не хотелось бы зависеть от его библиотеки, и носить ее с собой тоже не хочется).


Можно использовать Riched20.dll напрямую и не таскать с собой ocx, который только обертка над этой dll

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 06.04.2012 (Пт) 20:54

Кто их выдумал-то? Ой, а у меня у тексбоксов префикс «inp». Катастрофа, я нарушил некие незыблемые вечные правила хорошо тона, непонятно кем и для кого и когда выдуманные. Ещё раз, неужели непонятно, что правила каждый придумывает и выбирает себе сам.

Насчет вб честно скажу, не знаю. А вот насчет С мне известно, что существует такая вещь, как ANSI (насколько я знаю, к префиксам эти стандарты тоже относится). А вообще, опять же, как я понимаю, суть "хорошего" тона в том, чтобы сторонний программист мог посмотреть на твой код, и ему без особых усилий стало бы понятно большинство, а для этого, естественно, как минимум, надо самому уметь разобраться в собственном коде в любое время, я даже скажу, что это одна из функций стандартов - обеспечить возможность n-ному числу программистов без особого напряга писать одну программу.
Главное правило это что-бы было самому понятно и удобно.

А в идеале и всем остальным.
апример такие, как Common Dialog, лучше заменить соответствующими WinApi функциями, ну и другие по возможности тоже.

Вот это тоже актуально. Подскажи, пожалуйста, что за функции?
Можно использовать Riched20.dll напрямую и не таскать с собой ocx, который только обертка над этой dll

Странно, сейчас попробовал покопаться на эту тему, и что-то как-то успехи не очень. Добавил я к проекту Riched20.dll , в проводнике объектов появилась библиотека tom, в ней ITextDocument и прочее. Пробовал объявлять переменную как ITextDocument, но толку от этого 0. В сети нашел что-то о RichEdit из ActiveX, но большей инфы не узрел. Или RichEdit из ActiveX это и есть RichTextBox ?
ger_kar, за Сабклассинг спасибо, покопаю.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение ger_kar » 06.04.2012 (Пт) 21:28

Rody66 писал(а):Вот это тоже актуально. Подскажи, пожалуйста, что за функции?

Код: Выделить всё
Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (ByRef pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (ByRef pOpenfilename As OPENFILENAME) As Long
Public Declare Function FindText Lib "comdlg32.dll" Alias "FindTextA" (ByRef pFindreplace As FINDREPLACE) As Long
Public Declare Function ReplaceText Lib "comdlg32.dll" Alias "ReplaceTextA" (ByRef pFindreplace As FINDREPLACE) As Long
Public Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (ByRef pChoosecolor As CHOOSECOLOR) As Long
Public Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (ByRef pChoosefont As CHOOSEFONT) As Long
Public Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (ByRef pPrintdlg As PRINTDLG) As Long
Public Declare Function PrintDlgEx Lib "comdlg32.dll" Alias "PrintDlgExA" (ByRef TLPPRINTDLGEXA As PRINTDLGEXA) As Long


Вот к примеру код модуля для диалога Открытия файла (одного или группы)
Код: Выделить всё
Option Explicit

Public Declare Function GetOpenFileName Lib "comdlg32.dll" _
                                        Alias "GetOpenFileNameA" ( _
                                        pOpenfilename As OPENFILENAME) As Boolean

Type OPENFILENAME
    lStructSize         As Long
    hwndOwner           As Long
    hInstance           As Long
    lpstrFilter         As String
    lpstrCustomFilter   As Long
    nMaxCustrFilter     As Long
    nFilterIndex        As Long
    lpstrFile           As String
    nMaxFile            As Long
    lpstrFileTitle      As String
    nMaxFileTitle       As Long
    lpstrInitialDir     As String
    lpstrTitle          As String
    Flags               As Long
    nFileOffset         As Integer
    nFileExtension      As Integer
    lpstrDefExt         As String
    lCustrData          As Long
    lpfnHook            As Long
    lpTemplateName      As Long
End Type

Public Type typeFileName
    strFilePath         As String
    strFileName()       As String
    strFileTitle        As String
    posixName           As Long
    intCount            As Integer
End Type

Public Const OFN_ALLOWMULTISELECT = &H200       'выбор нескольких файлов
Public Const OFN_CREATEPROMPT = &H2000          'Уст., что диалог. окно сообщ. пользователю об отсутствии файла и предлагает его создать
Public Const OFN_EXPLORER = &H80000
Public Const OFN_FILEMUSTEXIST = &H1000         'Уст., что польз. может выбрать только сущ. файл или увидит сообщение "Файл не существует. Проверьте правильность имени файла".
Public Const OFN_HIDEREADONLY = &H4             'Прячет галочку "Только чтение".
Public Const OFN_NOCHANGEDIR = &H8              'Открывать диалог в том же каталоге, в котором он был открыть первый раз
Public Const OFN_NODEREFERENCELINKS = &H100000
Public Const OFN_NONETWORKBUTTON = &H20000
Public Const OFN_NOREADONLYRETURN = &H8000
Public Const OFN_NOVALIDATE = &H100             'Можно использовать любые символы при указании имени файла.
Public Const OFN_OVERWRITEPROMPT = &H2
Public Const OFN_PATHMUSTEXIST = &H800
Public Const OFN_READONLY = &H1
Public Const OFN_SHOWHELP = &H10                'Показывает кнопку справки.

Public Const DbVbNullChar As String = vbNullChar & vbNullChar
'

Public Function OpenFile(ByVal Title As String, _
                         ByVal InitDir As String, _
                         Optional ByVal FileName As String, _
                         Optional ByVal Filter As String = vbNullString, _
                         Optional ByVal FilterIndex As Long = 1, _
                         Optional ByVal hWnd As Long = -1) As typeFileName
   
    Dim strBuffer   As String
    Dim strTitle    As String
    Dim strFile     As String * 1024
    Dim OpFile      As OPENFILENAME
    Dim p%
   
    If Filter = vbNullString Then Filter = "All Files (*.*)" & Chr$(0) & "*.*"
   
    With OpFile
        .hwndOwner = hWnd
        .hInstance = 0
        .lpstrCustomFilter = 0
        .nMaxCustrFilter = 0
        .lpfnHook = 0
        .lpTemplateName = 0
        .lCustrData = 0
        .lpstrFilter = Filter
        .nFilterIndex = FilterIndex
        .lpstrFile = FileName & String$(1024 - Len(FileName), 0)
        .nMaxFile = 1023
        .lpstrFileTitle = String$(1024, 0)
        .nMaxFileTitle = 1023
        .lpstrTitle = Title
        .lpstrInitialDir = InitDir
        .lpstrDefExt = "mde"
        .Flags = OFN_FILEMUSTEXIST + OFN_PATHMUSTEXIST + OFN_EXPLORER + OFN_ALLOWMULTISELECT
        .lStructSize = Len(OpFile)
    End With
   
    If GetOpenFileName(OpFile) Then
       
       strBuffer = OpFile.lpstrFile: strTitle = OpFile.lpstrFileTitle
       strTitle = Left$(strTitle, InStr(1, strTitle, vbNullChar) - 1)
       p% = InStr(1, strBuffer, DbVbNullChar)
       strBuffer = Left(strBuffer, p% - 1)
       
       If Len(strTitle) = 0 Then
            'Обработка списка файлов
            p% = InStr(1, strBuffer, vbNullChar)
            OpenFile.strFilePath = Left(strBuffer, p% - 1) & "\"
            OpenFile.strFileName() = Split(Mid$(strBuffer, p% + 1), vbNullChar)
        Else
            'Обработка одиночного файла
            OpenFile.strFilePath = Left(strBuffer, Len(strBuffer) - Len(strTitle))
            OpenFile.strFileName() = Split(strTitle, vbNullChar)
        End If
       
       OpenFile.posixName = OpFile.nFileOffset
       OpenFile.intCount = UBound(OpenFile.strFileName)
       OpenFile.strFileTitle = strTitle
       
    Else
   
       OpenFile.strFilePath = OpFile.lpstrInitialDir
       ReDim OpenFile.strFileName(0)
       OpenFile.strFileTitle = vbNullString
       OpenFile.posixName = 0
       OpenFile.intCount = 0
   
    End If
   
End Function
Бороться и искать, найти и перепрятать

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение jangle » 06.04.2012 (Пт) 21:49

Rody66 писал(а):Странно, сейчас попробовал покопаться на эту тему, и что-то как-то успехи не очень. Добавил я к проекту Riched20.dll , в проводнике объектов появилась библиотека tom, в ней ITextDocument и прочее. Пробовал объявлять переменную как ITextDocument, но толку от этого 0. В сети нашел что-то о RichEdit из ActiveX, но большей инфы не узрел. Или RichEdit из ActiveX это и есть RichTextBox ?.


Сначала надо изучить предмет вопроса, а не заниматься непонятно чем. Посмотри пример в аттаче
Вложения
RichText_W20325611222006.zip
(3.17 Кб) Скачиваний: 113

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 06.04.2012 (Пт) 22:19

ger_kar, большое спасибо за пример.
jangle, благодарю. Судя по всему, с таким элементом придется взаимодействовать только посредством апи, а это несколько муторно. Мне, например, совершенно неизвестно как <узнать> о каком либо событии RichEdit. Там, похоже, это тоже не реализовано. Или все не так сложно?

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение jangle » 06.04.2012 (Пт) 22:24

Разумеется посредством WinApi, а для начинающих программистов был создан ocx, который надо таскать с собой

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение alibek » 07.04.2012 (Сб) 9:23

Rody66 писал(а):А вот насчет С мне известно, что существует такая вещь, как ANSI (насколько я знаю, к префиксам эти стандарты тоже относится).

Раз уж ты употребляешь обороты "насколько мне известно" и "насколько я знаю", может быть ты сообщишь об источнике своих знаний и скажешь номер стандарта или дашь ссылку на документ, где бы описывался стандарт на префиксы?
Lasciate ogni speranza, voi ch'entrate.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 10.04.2012 (Вт) 11:49

Раз уж ты употребляешь обороты "насколько мне известно" и "насколько я знаю", может быть ты сообщишь об источнике своих знаний и скажешь номер стандарта или дашь ссылку на документ, где бы описывался стандарт на префиксы?

Так поэтому и употребляю, что очень в этом не уверен. Сейчас посмотрел книжку ту, и правда, о стандартах с префиксами там речи нет, только лишь о все том же хорошем тоне, не более.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 15.04.2012 (Вс) 14:17

alibek писал(а):такая вещь, как ANSI

ANSI — это вещи. Это Американский Национальный Институт Стандартов.
Он, как институт по стандартизации, выпускает стандарты, и один из этих стандартов касается языка Си. Это как ГОСТ, документ, описывающий основные правила, нужные для того, чтобы один и тот же код, скомпилированный на компиляторах разных изготовителей давал одинаково работающую программу, а не две совершенно разных.

И уж разумеется, ни о каких префиксах в таком стандарте даже речи быть не может.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 23.04.2012 (Пн) 23:47

Все-таки решил воспользоваться методом jangle, и возникла такая вот странная проблема.. Не могу сделать окно RichEdit без окантовки. То есть BorderStyle никак не получается сделать равным 0, даже копирование стиля обычного текстбокса с бордерстайл=0 не помогает.
что есть.png
что есть.png (15.14 Кб) Просмотров: 3627

что нужно.png
что нужно.png (15.29 Кб) Просмотров: 3627

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 24.04.2012 (Вт) 5:48

Не нужно. Что это за болезнь, поражающая мозг, заставляющая делать рваные окна без бордеров у контролов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 24.04.2012 (Вт) 11:37

А как же тултип в IDE vb6, который на самом деле является RichEdit20A ? Где там бордеры?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 24.04.2012 (Вт) 11:52

Ну ты то не тултип не делаешь. И в VB6 IDE окно ричэдита сабклассится.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 24.04.2012 (Вт) 11:59

Ну ты то не тултип не делаешь.

Так я то как раз тултип делаю.
И в VB6 IDE окно ричэдита сабклассится.

А каким образом визуальную часть сабклассить? WM_PAINT ?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 24.04.2012 (Вт) 14:24

Rody66 писал(а):Так я то как раз тултип делаю.

А чем тебе не хватает стандартных тултипов?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение jangle » 24.04.2012 (Вт) 15:07

Хакер писал(а):Не нужно. Что это за болезнь, поражающая мозг, заставляющая делать рваные окна без бордеров у контролов.


Видимо Rody66 хочет сделать стиль бордера FLAT, старые граненые бордеры выглядят слишком бородато

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение jangle » 24.04.2012 (Вт) 15:32

Rody66 писал(а):Так я то как раз тултип делаю.


В наборе CodeJock есть куча разных тултипов http://www.codejock.com/products/controls/tour_last.asp

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 30.04.2012 (Пн) 0:47

Всем спасибо, пока обошёлся PictureBox и вместо выделения жирным - подчёркивание.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 30.04.2012 (Пн) 0:48

Ты принципиально игнорируешь вопросы?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 30.04.2012 (Пн) 1:16

Ты принципиально игнорируешь вопросы?

Окай.
А чем тебе не хватает стандартных тултипов?

Хотя бы тем, что там нет элементарного выделения жирным, что в моем случае очень важно.
В наборе CodeJock есть куча разных тултипов http://www.codejock.com/products/controls/tour_last.asp

А тут, я, честно-сказать, не очень понял как нужный мне контрол скачать.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Хакер » 30.04.2012 (Пн) 1:57

Rody66 писал(а):Хотя бы тем, что там нет элементарного выделения жирным, что в моем случае очень важно.

А зачем тебе выделять что-то жирным в тултипе? К тому же MS_WINNOTE умеет выделять жирным?
При всём при этом, если ты применил PictureBox. Хорошо, допустим, ты применил PictureBox? Но как с этим вяжется то, что ты отказался от выделения жирным в пользу подчёркивания? Где тут логика?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Расширенный текстбокс, а также пара простых вопросов

Сообщение Rody66 » 30.04.2012 (Пн) 12:01

MS_WINNOTE умеет выделять жирным?

А этот элемент где найти?
И ответ на прочие вопросы:
тултип vb6.jpg
тултип vb6.jpg (10.87 Кб) Просмотров: 3539

мой тултип.jpg
мой тултип.jpg (7.27 Кб) Просмотров: 3539


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 92

    TopList