Хотелки от пользователей :-)

Автор MWW_Ruza, 19 февраля 2024, 22:01

« назад - далее »

sau

Можно ли получить событие изменения ширины колонки МногострочнойЧасти (ТаблицыЗначений)? Для реализации возможности сохранения пользовательских настроек.

sau

Можно ли отследить нажатие мышью на заголовке колонки в МногосточнойЧасти (ТаблицеЗначений)?

АЛьФ

Цитата: sau от 17 марта 2024, 00:59Можно ли получить событие изменения ширины колонки МногострочнойЧасти (ТаблицыЗначений)? Для реализации возможности сохранения пользовательских настроек.

Для этого не обязательно отслеживать именно изменение ширины, достаточно во время сохранения прочитать ширину.
Или я чего-то не понял.

АЛьФ

Цитата: sau от 17 марта 2024, 01:25Можно ли отследить нажатие мышью на заголовке колонки в МногосточнойЧасти (ТаблицеЗначений)?
Если это про сохранение настроек табличной части, то опять же рекомендую посмотреть в сторону ТабличноПоле.
https://www.1cpp.ru/docum/icpp/html/TableField.html

sau

Цитата: АЛьФ от 17 марта 2024, 09:38
Цитата: sau от 17 марта 2024, 00:59Можно ли получить событие изменения ширины колонки МногострочнойЧасти (ТаблицыЗначений)? Для реализации возможности сохранения пользовательских настроек.

Для этого не обязательно отслеживать именно изменение ширины, достаточно во время сохранения прочитать ширину.
Или я чего-то не понял.
Ширина колонок "сбивается" (возвращается в первоначальное состояние) даже при простом переключении фокуса между формами. Зачем сохранять настройки, если они не менялись? Возможно (как вторичный эффект) сгенерируется событие, когда "сбивается" (возможно восстановить).

sau

Цитата: АЛьФ от 17 марта 2024, 09:41
Цитата: sau от 17 марта 2024, 01:25Можно ли отследить нажатие мышью на заголовке колонки в МногосточнойЧасти (ТаблицеЗначений)?
Если это про сохранение настроек табличной части, то опять же рекомендую посмотреть в сторону ТабличноПоле.
https://www.1cpp.ru/docum/icpp/html/TableField.html
Зачем ломать систему, нужен дополнительный механизм (элемент) управления существующими элементами управления. Заголовки в виде кнопок для этого подходят (та же сортировка, вошедшая "как стандарт"). Возможен вариант изменения порядка колонок, если придумать двузначную логику (например, стрелочки слева и справа). Ну и т.п.

sau

По методу "ГотовностьПринтера". Очень не всегда дает информацию о возможности печати на принтер. Использую проверку на длину очереди (т.е. количество заданий, находящихся в очереди). Как правило (чеки, накладные) задание небольшие по времени выполнения, соответственно, если длина очереди более допустимого значения (например, 2-3), то последующая отправка на печать "подозрительна".

Злоп

Цитата: sau от 17 марта 2024, 18:52Использую проверку на длину очереди
а длину очереди откуда берешь?

Злоп

А для чего отслеживать жмак по заголовку таблицы? примерный сценарий использования?

sau

Цитата: Злоп от 17 марта 2024, 18:58
Цитата: sau от 17 марта 2024, 18:52Использую проверку на длину очереди
а длину очереди откуда берешь?

Через свою внешнюю компоненту. Код:
    numJobs:=0;
    PrinterName:=GetNParam(paParams,0);
    PrinterToUse:=Printer.Printers.IndexOf(PrinterName);
    if PrinterToUse>-1 then
      begin
        Printer.PrinterIndex:=PrinterToUse;
        if OpenPrinter(PChar(PrinterName),hPrinter,nil) then
          begin
            try
              EnumJobs(hPrinter,0,1000,1,nil,0,bytesNeeded,numJobs);
              pJ:=AllocMem(bytesNeeded);
              if not EnumJobs(hPrinter,0,1000,1, pJ, bytesNeeded,bytesNeeded, numJobs) then
                RaiseLastWin32Error;
            finally
              ClosePrinter(hPrinter);
            end;
          end;
        pVarRetValue:=numJobs;
      end
    else
      pVarRetValue:='Принтер не найден';

sau

Цитата: Злоп от 17 марта 2024, 18:59А для чего отслеживать жмак по заголовку таблицы? примерный сценарий использования?
"Заголовки в виде кнопок для этого подходят (та же сортировка, вошедшая "как стандарт"). Возможен вариант изменения порядка колонок, если придумать двузначную логику (например, стрелочки слева и справа). Ну и т.п."
Меню можно вызвать для операций по всей колонки. Впрочем, вроде такие интерфейсные решения уже почти стандарт.

Злоп

ну, я сортировку ТЗ по колонкам делаю по грячей клавише, сортируется та колонка, на которой курсор. Порядок сортировки меняется на обратный.

АЛьФ

Цитата: sau от 17 марта 2024, 18:52По методу "ГотовностьПринтера". Очень не всегда дает информацию о возможности печати на принтер. Использую проверку на длину очереди (т.е. количество заданий, находящихся в очереди). Как правило (чеки, накладные) задание небольшие по времени выполнения, соответственно, если длина очереди более допустимого значения (например, 2-3), то последующая отправка на печать "подозрительна".

Этот метод - это просто обертка над функцией EnumPrinters() из WinAPI. Тут я вряд ли что смогу исправить. Что винда возвращает, то и передаю.

АЛьФ

Цитата: sau от 17 марта 2024, 18:35
Цитата: АЛьФ от 17 марта 2024, 09:38
Цитата: sau от 17 марта 2024, 00:59Можно ли получить событие изменения ширины колонки МногострочнойЧасти (ТаблицыЗначений)? Для реализации возможности сохранения пользовательских настроек.

Для этого не обязательно отслеживать именно изменение ширины, достаточно во время сохранения прочитать ширину.
Или я чего-то не понял.
Ширина колонок "сбивается" (возвращается в первоначальное состояние) даже при простом переключении фокуса между формами. Зачем сохранять настройки, если они не менялись? Возможно (как вторичный эффект) сгенерируется событие, когда "сбивается" (возможно восстановить).

А если просто отключить автоширину колонок?

sau

Цитата: Злоп от 17 марта 2024, 20:05ну, я сортировку ТЗ по колонкам делаю по грячей клавише, сортируется та колонка, на которой курсор. Порядок сортировки меняется на обратный.
При чем тут это...