На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
  
> OpenDialog , открыть OpenDialog в режиме Details
    все знакоми с окошком OpenDialog.
    на нем имеется кнопка выбора режима показа.
    как из программы открывая OpenDialog укозать ему в коком виде показывать фаилы?
      Тоесть в каком виде????
      В каком формате,что ли ты это имел ввиду?
        вот что я имею в виду
        Прикреплённый файлПрикреплённый файлuntitled1.JPG (31.64 Кбайт, скачиваний: 225)
          Не говорю что невозможно, но помоему - никак. Ведь этот самый OpenDialog в своих Options имеет флаг ofOldStyleDialog, который если установить в True показывает устаревший диалог открытия, в котором вообще нет понятия о том как отображать файлы: в виде таблицы, в виде списка, или еще как нибудь...
            а через API?
              Через АПИ - это локальный хук на появление окна, и дальше видимо сообщения посылать.
                M
                Тема перенесена из Delphi -> Delphi: Общие вопросы.
                  Берешь хендл SysListView32 из OPenDialog, потом толи изменить стиль, то ли просто послать - незнаю, след. мессаги : (из CommCtrl)
                  LVS_ICON - This style specifies icon view.
                  LVS_LIST - This style specifies list view.
                  и т.д...
                    да... чтото нечего не получается.
                      Я думаю тут универсально не сделать. Всё зависит от ОС.
                      Может статься так, что в Win XP можно сделать, а для w2k не будет работать, т.к. там другая иерархия окон в диалоге.

                      Добавлено в :
                      Я ща проверил в WinSight этот диалог.
                      Иконка, на которую ты нажимаешь, чтобы выбрать тип представления - это TToolBar. Когда нажимаешь появляется окно. Его тип в дельфёвом диалоге WinSight определить не смог :(
                      Я попробовал в Опере - там это ComboBoxEx32. Наверно и в Дельфи тоже самое (не думаю, что в Опере вызывается особенный диалог).
                      Так что всё возможно. Просто посылаешь CB_сообщения этому окну для выбора нужного пункта. Думаю должно сработать. Или можно сэмулировать движение мыши.
                        Есть хорошая примочка FileBox Extender. Так вот она с этим прекрастно справляется в Win9x, Win2k и WinXP. Вот его окно настройки:
                        user posted image
                        Правда, исходников нет. Поэтому посмотреть как там сделано трудно. Но я, уже лет пять как успешено пользуюсь :).
                        Сообщение отредактировано: Петрович -
                          Петрович, ему надо в каком-то одном диалоге в программе.
                            Не, он это во ВСЕ файловые диалоги ВСЕХ программ добавляет. Можно конечно для избранных запретить.

                            Добавлено в :
                            Вот ссылка на сайт программы http://www.hyperionics.com/files/index.asp
                              Kobra, что именно ? вот кусок кода, всё работает
                              ExpandedWrap disabled
                                 
                                //тебе надо будет достучаться до твоего SysListView32, как я уже и говорил
                                //а для примера сделал проще, в окне explorer'a :)
                                var
                                  h:hwnd;
                                  buf:array [0..255] of char;
                                  s:string;
                                  mystyle:dword;
                                begin
                                h:=WindowFromPoint(CrPos);
                                if boolean(GetClassName(h,buf,256)) then s:=buf;
                                if s='SysListView32' then begin
                                 mystyle:=GetWindowLong(h, GWL_STYLE);
                                 mystyle:=mystyle or LVS_LIST;//список
                                 SetWindowLong(h,GWL_STYLE,mystyle);
                                 end;
                                end;
                                Вот пример, правда на Си, как можно достать хэндл списка: Изменение диалога OpenFile Совместив с кодом P.O.D'а, можно добиться желаемого резалта...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0389 ]   [ 16 queries used ]   [ Generated: 22.04.24, 19:45 GMT ]