Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отобразить controltiptext альтернативным способом / 22 сообщений из 22, страница 1 из 1
07.07.2004, 09:10:19
    #32592575
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Всем привет!
при программной смене значения свойства контрола controltiptext
происходит мерцание контрола. все бы ничего если часто не менять

а тут такая задачка:
календарь занятости сотрудника в проекте
- нужно чтобы заполнять календарь проводя нажатой мышью

сделал так:
контролы под прозрачным лейблом
при загрузке в массив сохраняются координаты низлежайших контролов
по перемещению мыши с нажатой кнопкой программно заполняются контролы по координатам из массива.

все работает вполне сносно. только теперь надо выводить в всплывающую подсказку информацию о лежащем под мышью контроле

если изменяю значение controltiptext прозрачного лейбла то он мерцает сволочь.

может кто знает способ (может винапи функция ) для вывода информации типа всплывающей подсказки ?
...
Рейтинг: 0 / 0
07.07.2004, 09:21:23
    #32592597
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
А если Painting в false выставить?
...
Рейтинг: 0 / 0
07.07.2004, 09:27:12
    #32592605
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
А может пойти другим путем: нарисовать внизу что-то типа статус бара постоянного (лецбел или текстбох, а можно и настоящий статус бар перетащить) и в нем постоянно отображать текущий тип текст?
...
Рейтинг: 0 / 0
07.07.2004, 09:31:25
    #32592611
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
А может быть, вообще отказаться от типа. Все равно, как следует из твоего описания проекта, ты должен заполнять всю сетку, в том числе, отмечая цветом выходные дни, так уж заполни ее и числами (датами). А участие обозначай другим цветом вакграунда
...
Рейтинг: 0 / 0
07.07.2004, 09:34:43
    #32592622
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
2 Hummer
к сожалению паинтинг и эхо только усугубляют мерцание

2 Rivkin Dmitry
инфу можно и в аксессовскую строку состояния выводить.
SysCmd acSysCmdSetStatus, "Инфо"

только нужно в стиле всплывающей подсказки.
если конечно я правильно понял суть идеи..
...
Рейтинг: 0 / 0
07.07.2004, 09:37:52
    #32592625
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Можно сделать контрол "Подсказка" и выводить туда всякую лабуду. Он то уж мерцать не будет.
Можно его даже двигать, но это IMHO изврат
...
Рейтинг: 0 / 0
07.07.2004, 09:39:02
    #32592628
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
дело в том что дата в тултипе для примера
в реале будет многострочная информация о занятости сотрудника по другим проектам и многое другое.

а числовое значение на дату тоже менять нельзя - это число часов
...
Рейтинг: 0 / 0
07.07.2004, 09:39:34
    #32592630
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Стандартный статус бар в данном случае не удобен - надо переводить взгляд с ячейки вниз экрана. Да еще надо помнить, что оно там есть. Я имею ввиду сделать что-то типа статусса внизу или сбоку формы, что-то типа лупы. Но вторая моя идея мне нравится больше - заполнить календарь числами и не ломать голову с тип текстом
...
Рейтинг: 0 / 0
07.07.2004, 09:42:41
    #32592632
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
автормногострочная информация о занятости сотрудника по другим проектам и многое другое.

Но тогда тип текст тебе не поможет вообще. Влиять на его длину невозможно и что туда влезет - не известно, тем более многострочная информация.
Уж лучше идти по пути Shark
...
Рейтинг: 0 / 0
07.07.2004, 09:48:54
    #32592643
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Раз так, то делай свою форму - оформи её в стиле подсказки- и показывай, когда нужно. Причем не открывай, а именно на момент работы основной формы держи открытыми 2 как только фокус опять переходит на главную - вторая делается не видимой...
...
Рейтинг: 0 / 0
07.07.2004, 10:05:39
    #32592696
Visitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Имхо год выводить над списком Месяцев в отдельном контроле (я так понимаю список месяцев все одно будет на 1 календарный год?)

Месяц есть и так - это лэйбл строки - его можно просто цветом выделять (определяя Y положение курсора напр.)

Остается дата? сделать контрол в дополнение к названию месяца - пусть одновременно с подсветкой цветом названия месяца в соответствующем контроле высвечивается дата (определяя X положение курсора напр.)



Сугубо ИМХО:

массив вообще не обязателен (шикая на себя и шлепая себя по губам)

или - генерить html и отображать в ActiveX (конечно это смотря по задаче)
...
Рейтинг: 0 / 0
07.07.2004, 10:36:05
    #32592766
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
2 Rivkin Dmitry

автор Влиять на его длину невозможно и что туда влезет - не известно, тем более многострочная информация.



все влазиет как надо.
...
Рейтинг: 0 / 0
07.07.2004, 10:44:10
    #32592792
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
2 Hummer

наверное можно сделать две формы - позиционирование взять из всплывающего календаря и вызывать по равому клику...
только сложновасто получается.


Visitor
авторгод выводить над списком Месяцев в отдельном контроле (я так понимаю список месяцев все одно будет на 1 календарный год?)

так и есть

авторМесяц есть и так - это лэйбл строки - его можно просто цветом выделять (определяя Y положение курсора напр.)

подсвечивать месяц - хорошая мысль

авторОстается дата? сделать контрол в дополнение к названию месяца - пусть одновременно с подсветкой цветом названия месяца в соответствующем контроле высвечивается дата (определяя X положение курсора напр.)

тогда и дату можно подсветить


авторСугубо ИМХО:
массив вообще не обязателен (шикая на себя и шлепая себя по губам)

в простом варианте массив и не нужен это уже порождение оптимизации.
первая версия графика грузилась минуту и работала рывками.


авторили - генерить html и отображать в ActiveX (конечно это смотря по задаче)

а вот здесь поподробнее пожалуйста, не совсем понял идею.
...
Рейтинг: 0 / 0
07.07.2004, 10:56:02
    #32592819
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Не помню где скачал. но есть пример с использованием ActiveX МSFlexGrid

Работал с ним - достаточно удобно.

Если надо - скину, или ссылку поищу.
...
Рейтинг: 0 / 0
07.07.2004, 10:57:02
    #32592825
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Код: plaintext
все влазиет как надо.
И вправду, влезает! А я не догадывался добавлять vbCrLf! Крвсиво! Но достаточно ли?
...
Рейтинг: 0 / 0
07.07.2004, 11:03:19
    #32592845
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
о, сори, невнимательно прочитал вопрос
...
Рейтинг: 0 / 0
07.07.2004, 11:17:20
    #32592888
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Rivkin Dmitry
авторНо достаточно ли?

256 символов для моей задачи - вполне

2 AlTis

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

блин эти тултипы работают везде даже на рабочем столе выводятся к ярлыкам - должна быть винапи. весь гугель излазил - нефига
...
Рейтинг: 0 / 0
07.07.2004, 11:17:57
    #32592892
Visitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
тот пример что я вижу (не зная деталей задачи сложно судить)

<CENSORED> чуть не подорвался растекаться по древу :))

в общем если требуется добавить интерактивности обычному "сводному отчету" - ИМХО нет необходимости городить сложную форму - может оказаться достаточным написать JScript формирующий данные для представления в виде качественно подготовленного, красивого и интерактивного (ну уж во всяком случае alt="бла-бла-бла" запросто) многостраничного документа...

если не требуется ввод данных или обратного взаимодействия содержимого HTML документа и приложения - может получиться весьма неплохо - проверено на животных.

сам Source html документа - может просто генериться(создаваться) из кода приложения или лежать темплэйтом где-нибудь поблизости с базой а данные для него (для заполнения) герериться(создаваться) как JS или TXT файл.

т.е.

в ActiveX на форме вызываем темплэйт, который заполняется данными БД из созданного на лету TXT файла

вот собственно и все

и так (заговорщицки подмигивая) - картинки можно всякие красивые вставлять, масштабировать сетку календаря по размеру ActiveX Controla без напряга с ресайзом элементов и пересчетом координат и проч...
...
Рейтинг: 0 / 0
07.07.2004, 11:21:45
    #32592899
йцук
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
2 АлексейК
наверное можно сделать две формы - позиционирование взять из всплывающего календаря и вызывать по равому клику...
только сложновасто получается.
Тогда уж по MouseMove?
Для красоты через API мышь захватить
...
Рейтинг: 0 / 0
07.07.2004, 11:30:45
    #32592922
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
Тогда уж по MouseMove?
Для красоты через API мышь захватить

боюсь что грузный код будет сильно тормозить ...
а надо чтоб на первых пеньках работало..





в ActiveX на форме вызываем темплэйт, который заполняется данными БД из созданного на лету TXT файла

не понимаю я какой именно активX умеет вызывать что либо подобное
всплывающей подсказке. может кусочек кода?
...
Рейтинг: 0 / 0
07.07.2004, 11:32:40
    #32592929
Visitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
насчет заполнять календарь - пожоже предложенный мной вариан отпадает...

или придется брать координаты курсора относительно границ эктивэекс сонтрола принажатой кнопке мышЫ из приложения, но на содержимом Activex это не будет отображаться одновременно с выбором диапазона дат...

не покатит...
...
Рейтинг: 0 / 0
07.07.2004, 11:41:27
    #32592957
Visitor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отобразить controltiptext альтернативным способом
не понимаю я какой именно активX умеет вызывать что либо подобное
всплывающей подсказке. может кусочек кода?

MS WebBrowser control

а всплывающая подсказка это будет тэг Alt для картинки,
картинка это цветной квадратик бэкграундом в ячейке таблицы темплэйта,
данные в квадратике - (в приведенном Вами скриншоте - "0") значения внесенные в темплэйт из
файла данных (JS - Document Write) сгенерированных Вашим приложением...

блин, кажется совсем запутал... :(( примера под рукой нет, нарою по сусекам - выложу...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / отобразить controltiptext альтернативным способом / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]