![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выравнивание колонок ListView по содержимому [D7, XP]
Aleks © (2009-10-26 15:31:00)Как выравнять колонки ListView по содержимому? Нашел такой код:
ListView1.SetFocus;
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VK_ADD, 0, 0, 0);
keybd_event(VK_ADD, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
Отлично работает,но не учитывает текст в шапке списка :(
и после автовыравнивания приходится еще и ручно раздвигать колонки чтобы прочитать обрезаный текст в шапке.
Dennis I. Komarov (2009-10-30 14:11:00) [21]
> Aleks (30.10.09 10:52) [32]
Отговорки...
> OpenDialog единожды использую для выбора пути к файлу TecDoc
> в настройках программы,
Для этого есть SelectDirectory
Юрий Зотов (2009-10-30 13:52:00) [22]Trim, а не Trunc, конечно.
Блин... чертова Java...
Aleks (2009-10-30 13:47:00) [23]Ошибка компиляции,несовместимость типов: Trunc(S). Trunc разве не с числами работает, отделяет дробную часть?
Aleks (2009-10-30 13:30:00) [24]Попробую и отпишусь.. Спасибо Юрий!
Юрий Зотов (2009-10-30 13:22:00) [25]Фантастика какая-то. Попробуйте так:
// S - это строка запуска TecDoc (E:\TECDOC_CD\3_2009\pb\tof.exe)
if not SetCurrentDir(ExtractFileDir(Trunc(S))) then
raise Exception.Create('Невозможно установить стартовый каталог');
WinExec(PChar('"' + Trunc(S) + '"'), SW_NORMAL);
Aleks (2009-10-30 12:54:00) [26]Не работает WinExec(PChar(OpenDialog1.FileName), SW_NORMAL); Окно ошибки: Reading Errormessages failed. Errorcode= -2. Could not load Errormessages :( Predefined Message "ISB-00001" not found (да\нет\отмена). Так же как и с ShellExecute :(
Aleks (2009-10-30 12:49:00) [27]> Юрий Зотов. OpenDialog единожды использую для выбора пути к файлу TecDoc в настройках программы, потом он записывается в реестр и читается при вызове комманды контекстного меню списка запчастей. Попробую WinExec(PChar(OpenDialog1.FileName), SW_NORMAL) и отпишусь.. Спасибо за поддержку!
Юрий Зотов (2009-10-30 12:17:00) [28]Добавление: у Вас строка запуска не содержит пробелов, но если они есть, то при передаче WinExec эту строку надо взять в двойные кавычки.
Юрий Зотов (2009-10-30 12:13:00) [29]О, боже... ну наконец-то.
WinExec(PChar(OpenDialog1.FileName), SW_NORMAL);
PS
Не нужен Вам никакой OpenDialog. Пропишите путь к tof.exe в файле настроек Вашей программы и читайте его оттуда. Незачем заставлять юзера каждый раз одни те же кнопки тыркать.
Aleks (2009-10-30 12:05:00) [30]openDialog1.FileName=E:\TECDOC_CD\3_2009\pb\tof.exe Нужно просто запустить, открыть ничего в нем не удастся. В идеале надо открыть указанную в проге запчасть в каталоге,но я пробовал передать параметры bat-ником (tof.exe код запчасти),-безрезультатно :(
Юрий Зотов (2009-10-30 11:58:00) [31]> Aleks (30.10.09 11:50) [37]
> Я так думаю в openDialog1.FileName полный путь с именем файла.
Здесь не надо думать - надо поставить точку останова и отладчиком посмотреть, что там в этом FileName сидит. Конкретно и без всяких раздумий. И отписать сюда.
И еще: уточните, что Вы хотите сделать - просто запустить tof.exe, или запустить так, чтобы в нем сразу оказался открытым какой-то документ (файл)?
brother (2009-10-30 11:56:00) [32]это даже не ТЗ, ну, ладно... теперь пиши программу...
Aleks (2009-10-30 11:50:00) [33]> brother. Я так думаю в openDialog1.FileName полный путь с именем файла. А параметры не нужно никакие передавать, просто запустить TecDoc. (Имя tof.exe, в ярлыке на раб.столе указан путь(без доп. параметров) и рабочая папка программы).
Юрий Зотов (2009-10-30 11:37:00) [34]> brother © (30.10.09 11:07) [34]
> предположу, эта прога не кушает доп параметры...
Я тоже это предполагаю. Заодно и оно проверится.
brother (2009-10-30 11:08:00) [35]Юрий, догадавыаетесь, что в openDialog1.FileName; находится?
автор, нука покаж, что там лежит?)
brother (2009-10-30 11:07:00) [36]если я правильно понял, то автор хочет чего-то открыть с помощью ТecDoc? но обламывается... предположу, эта прога не кушает доп параметры...
Юрий Зотов (2009-10-30 11:03:00) [37]> Aleks (30.10.09 10:52) [32]
Елы-палы... еще бы исполняемомуфайлу не запускаться из проводника... разве об этом речь шла?
У Вас в коде в ShellExecute передается OpenDialog.FileName. Это значит, что Вы хотите открыть файл с этим самым FileName с помощью той программы, которая зарегистрирована в системе для файлов такого типа.
Вот по ЭТОМУ файлу и щелкайте, а не по файлу самой программы и не по ее ярлыку. Если откроется двойным щелчком - значит, ошибка в Вашей программе, а если нет - значит, для файлов такого типа никакой программы в системе не зарегистрировано, поэтому ShellExecute и не срабатывает.
Aleks (2009-10-30 10:52:00) [38]>Dennis I. Komarov. 2in1 время нонче такое.. >Юрий Зотов. В проводнике ТecDoc запускается двойным кликом. Это - исполняемый ехе-файл (tof.exe, в ярлыке на раб.столе указан путь(без доп. параметров) и рабочая папка программы)
Германн (2009-10-30 01:57:00) [39]
> Dennis I. Komarov (htc) (29.10.09 22:43) [30]
>
> не смешно, а грустно...
Смирись.
Dennis I. Komarov (htc) (2009-10-29 22:43:00) [40]не смешно, а грустно...
это управляющий-бухгалтер что-ли?