Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание колонок ListView по содержимому [D7, XP]


Страницы:   1 2 3 4

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]

не смешно, а грустно...
это управляющий-бухгалтер что-ли?


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо