АндрейБ писал(а):Где-нибудь можно скачать ToolTipText - красивше, багаче, гибче (
АндрейБ писал(а):Реально?
Но не теми кривыми недо-методами
Rody66 писал(а):То есть тултип в IDE vb6 - недотултип?
Rody66 писал(а):Ведь он тоже основан на RTB.
Rody66 писал(а):мне помог PuctureBox + DrawText.
Rody66 писал(а):Вот например как это используется в моем редакторе скриптов:
потому что кроме показа экземпляра VB-формы горе-программисты ничего больше не умели.
А почему нельзя написать PuctureBox без ошибки?
Это большая глупость. RTB там даже близко не нужен.
Хакер писал(а):И в VB6 IDE окно ричэдита сабклассится.
А почему надо использовать DrawText, когда можно использовать метод Print?
А почему надо уродским образом подчёркивать текст, вместо того, чтобы сделать его курсивным?
А почему у твоего тултипа гарнитура шрифта такая, какая никогда не бывает у тултипов?
А почему у него нет тени?
Rody66 писал(а):Я в своей теме говорил о Rich Edit.
Rody66 писал(а):При этом Spy++ тоже говорит, что тултип в ide - это RichEdit.
И да, под RTB я как раз имел в виду Rich Edit, ошибся.
Rody66 писал(а):Потому, что в моем vb6 в подсказках такого метода не было.
Rody66 писал(а):+ в DrawText, по-видимому, можно положение текста задавать.
Лишь потому, что мне неизвестно как это сделать.
Rody66 писал(а):Что плохого в таком шрифте?
То есть ты не знаешь даже базовых приёмов работы с инструментом (я имею в виду VB6), но уже предлагаешь «давайте я выложу свой кривой неправильный код, делающий неправильы вещи, чтобы другие люди, падкие на кривой код, подхватили и использовали с своих проектах». Это мерзко.
наверняка ширина символа жестко вшита в код как константа. Какой кошмар, всё ещё хуже, чем я думал.
Function GetTextWidth(Object As Object, Optional Text As String) As Single
With frmMain
.lblForMeasure.Font = Object.Font
.lblForMeasure.FontSize = Object.FontSize
If Text = "" Then .lblForMeasure.Caption = Object.Text Else .lblForMeasure.Caption = Text
GetTextWidth = .lblForMeasure.Width
End With
End Function
Тултип с текстом, очень похожим на код, нарисованный шрифтом, точно таким же, каким нарисован код, может быть спутан с кодом, выделенным по какой-то причине в рамочку. Может — хотя бы в течении полусекунды после появления. Этого надо избегать, потому что это элемент дискомфорта для пользователя.
Уверен, у тебя даже в мыслях подобной цепочки рассуждений не было.
... Дебилы!
Rody66 писал(а):еще не говорит о том, что я криво использую DrawTextи Line.
чтобы рисовать его только с помощью Line
ger_kar писал(а):Все замечательно когда тултип нужно нарисовать на форме, а вот если формы вообще нет, тогда что? Рисовать закрашенные прямоугольники и рисовать по ним текст? (Это на случай когда стандартный тултип не устраивает)
Т.е. любое стандартное окно (стандартного класса зарегистрированного в системе) можно создавать напрямую посредством CreateWindowEx, и при этом наличие окна формы (диалога) по сути не является обязательным? Тогда получается можно рисовать любой контрол прямо на рабочем столе?Хакер писал(а):Тултип — это окно. Всегда окно. Окно со специфическими стилями. Создаваемое с помощью CreateWindowEx. Как и абсолютно все без исключения другие окна в системе.
ger_kar писал(а):формы (диалога) по сути не является обязательным?
ger_kar писал(а):(диалога)
Как раз странно звучит твой вопрос. Если бы спрашивающий (в данном случае я) знал все правильно, то тогда и вопроса как такового бы не возникло. И какие термины я применил неправильно? Я считаю, что все правильно и корректно. И если VB оперирует термином "форма", то например в VC, это уже называется диалогом и это вполне корректно, так как диалогом может быть не только окно, предполагающее ввод информации со стороны пользователя. Любая форма VB по сути диалог между приложением и юзером. Даже простое уведомление с одной кнопкой "OK" и то по сути диалог - приложение уведомило пользователя, пользователь нажал кнопку и по сути тоже уведомил приложение о том, что уведомление больше не нужно и его можно убрать. Чем не диалог? А уж если две кнопки или более... Вобщем я думаю мысль понятна.Хакер писал(а):Почему бы нельзя спросить нормально, не подменяя правильные термины неправильными?
Это не выяснение оконной концепции, а небольшой вопросик, который затрагивает лишь часть этой концепции. Меня например заинтересовало это в той мере, в которой можно создать окно стандартного тултипа без всякой формы в любом месте, если не устроит стандарный, то использовать любое другое подходящее окно для этих целей. И ключевой момент тултип или нечто похожее на тултип (чисто внешне) без формы.Хакер писал(а):Почему надо обязательно устроить выяснение основ оконной концепции Windows в топике о тултипах?
ger_kar писал(а):без формы.
А странные люди рисуют неподчёркнутый текст, а потом вручную его подчёргивают с помощью Line.
Как-то люди, пишущие на С, С++ или прямо на асемблере обходятся без форм вообще.
Может на это был свой особый замысел, который пока не разгадан. Возможно поэтому и в 3 раза больше кода не поленились написать, как знать. Может это просто планировался задел для каких то будущих расширенных реализаций. В любом случае логика сделать именно так скорее всего была, но не зная всей этой логики, делать вывод о том, правильно или неправильно было сделано достаточно затруднительно.Хакер писал(а):Истина в том, что использовать RTB в тултипе — невероятная глупость. И сделано в VB это судя по всему было в большой спешке. Думать было некогда, надо было что-то делать. Но я не понимаю данный случай вообще: вместо того, чтобы тупо нарисовать на окне нужный текст нужным форматированием (с помощью DrawText), они засунули в окно тултипа дочернее окно ричэдита. Но в ричэдите отображается мигающая каретка, в ричэдите можно править и выделять текст. Им это не понравилось, поэтому они его субклассили, чтобы натуральный эдитбокс превратить в плоский неинтерактивный как-бы-Label. При том, что просто нарисовать нужный текст с нужным форматированием в окне потребовало бы в 3 раза меньше кода. Дебилы!
Это такая защитная реакция организма - не париться по пустякамХакер писал(а):Ну почему у вас такая низкая удивительность к мелочам?
Я смотрю на картинку, и вижу косяки сразу, даже не глядя на код.
Ну почему у вас такая низкая удивительность к мелочам?
Rody66 писал(а):Почему Pic.Print "1" работает, а With Pic: .Print "1": End With нет?
Me.Print a; b; c; d, e, f, g h i k
Хакер писал(а):А почему надо использовать DrawText, когда можно использовать метод Print?
Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 76