![]() |
| ||
|
|
Новости |
Поиск |
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);
Отлично работает,но не учитывает текст в шапке списка :(
и после автовыравнивания приходится еще и ручно раздвигать колонки чтобы прочитать обрезаный текст в шапке.
recop (2009-12-07 17:28:00) [1]Господа, а как можно выровнять колонку по содержимому в стиле vsList?
Юрий Зотов (2009-10-30 20:09:00) [2]А вообще, я лопух. Уже в [44] после слов "окно ошибки" надо было сразу сообразить, что WinExec никаких окон не выдает и, значит, ни при чем.
Хотя кто его знает, чем там этот WinExec был в коде обернут...
Юрий Зотов (2009-10-30 19:45:00) [3]> Inovet © (30.10.09 19:15) [66]
Угу. Оно, конечно, уже давно deprecated, зато самое простое.
И, впрочем, песня не о нем, а...
:o)
Inovet (2009-10-30 19:15:00) [4]> [45] Юрий Зотов © (30.10.09 13:22)
А WinExec для упрощения примера?
Германн (2009-10-30 18:41:00) [5]
> А еще понравилась фраза: "Эстеты - это, знаете ли, вообще
> редкость..."
Она понравится ещё больше, если прочитаешь бессмертное произведение Я.Гашека
:)
Aleks (2009-10-30 18:09:00) [6]> Юрий Зотов. Спасибо за подробное описание,очень рад получить помощь от толкового специалиста. Впредь буду знать нюансы запуска внешних программ. А еще понравилась фраза: "Эстеты - это, знаете ли, вообще редкость..." :)
Юрий Зотов (2009-10-30 18:02:00) [7]Для двоичных программистов:
Я в курсе, что при запуске ярлыком стартовый каталог в этом же ярлыке и прописывается.
Но я также в курсе и того, что с вероятностью "много-много девяток" он прописан, как собственный каталог программы. Потому что по дефолту он именно такой, а меняют дефолт лишь очень редкие эстеты.
Эстеты - это, знаете ли, вообще редкость...
Юрий Зотов (2009-10-30 17:54:00) [8]> Aleks (30.10.09 15:35) [58]
> И сдается мне что Гугль полезнее справки..
Это САМАЯ грубая ошибка, какую только можно себе представить.
Гугль становится полезным после того, как справку знаешь уже чуть ли не наизусть. А при незнании справки гугль гораздо более вреден, чем полезен.
Знаете, сколько новичков на этом обжигалось? Только на одном этом форуме их были многие сотни (если не тысячи). Кстати, и Вы тоже (см. 22).
Юрий Зотов (2009-10-30 17:47:00) [9]> Aleks (30.10.09 15:21) [52]
Скорее всего, дело не в триме, я его просто на всякий случай вставил (кто его знает, что там с FileName у Вас присходит, вдруг к нему ерунда какая-нибудь дописывается?).
Меня смутило сообщение об ошибке - какое-то оно "несистемное" (да и код -2 функция WinExec выдать не может, если верить ее описанию). Поэтому я предположил, что WinExec срабатывает нормально и TecDoc успешно запускает, а ошибку выдает уже сам TecDoc и тут же завершается (а с виду получается, что он, вроде бы, и не запускался вовсе, хотя это не так).
Косвенным подтвержением такого предположения стал текст "ISB-00001 not found" в сообщении - я набрал ISB-001 в гугле и стало ясно, что к WinExec он уж точно никаким боком не относится, а вот к TecDoc - может быть (я просто не знаю этой программы, но не исключено).
Тогда возник следующий вопрос - почему при клике по ярлыку TecDoc запускается нормально, а при программном запуске кричит, что он чего-то там "not found"? В чем разница? Вы сказали, что никаких параметров запуска в ярлыке не прописано - значит, разница только в стартовом каталоге. При запуске ярлыком стартовый каталог - это собственный каталог TecDoc, а при запуске из программы стартовый каталог - это текущий каталог программы, если явно не указан никакой другой. И запросто может быть, что при запуске не из своего каталога TecDoc действительно не может чего-то там найти (неграмотно написан, кстати).
Проверка простая - перед запуском TecDoc сменить текущий калог и на собственный каталог TecDoc и посмотреть, что произойдет. И правда произошло - оно возьми, да и заработай.
А трим - это уже так, для страховки. Если никаких фокусов Вы с FileName не вытворяете, то трим можно убрать, должно и без него работать.
Dennis I. Komarov (2009-10-30 15:46:00) [10][16] тоже там нашел...
Dennis I. Komarov (2009-10-30 15:42:00) [11]Ну так посмотри что делает трим, и, как следствие, откуда пробелы берутся.
> Aleks (30.10.09 15:35) [58]
Флаг в руки...
Aleks (2009-10-30 15:35:00) [12]>Dennis I. Komarov. P.S. И сдается мне что Гугль полезнее справки..
Aleks (2009-10-30 15:33:00) [13]>Dennis I. Komarov. А вот не работало, стал бы я создавать тут тему и всем надоедать. Писал бы себе дальше прогу(еще процентов 25 предстоит)...
Dennis I. Komarov (2009-10-30 15:31:00) [14]
> Aleks (30.10.09 15:26) [55]
Хочу научить юзать справку, оно полезно будет
> Aleks (30.10.09 15:25) [54]
Оно и без трима должно прекрасно работать...
Aleks (2009-10-30 15:26:00) [15]>Dennis I. Komarov. Нравятся загадки? ;) Или просто отвечать не любите?
Aleks (2009-10-30 15:25:00) [16]>Dennis I. Komarov. Ясно, сам разберусь..
> Юрий Зотов. Откуда взялись пробелы в начале и конце в OpenDialog.FileName?
Dennis I. Komarov (2009-10-30 15:23:00) [17]подскажу лишь, что он не один...
> В чем секрет можете обьяснить?
в пробелах...
Dennis I. Komarov (2009-10-30 15:21:00) [18]
> Aleks (30.10.09 15:17) [50]
опять 25...
F1 не проще нажать или это проверка терпения?
Aleks (2009-10-30 15:21:00) [19]> Юрий Зотов. С тримом заработало! :) В чем секрет можете обьяснить? Буду оч.благодарен...
Aleks (2009-10-30 15:17:00) [20]>Dennis I. Komarov. SelectDirectory как использовать? Можно код?
> Юрий Зотов. ПопробуюTrim..