Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Избранное как в IE   Найти похожие ветки 

 
Konstantin   (2005-01-03 06:53) [0]

Подскажите как сделать сабж, плиз. Получить список закладок и добавлять новые я могу, но как сделать это в MainMenu динамически???


 
volser   (2005-01-03 11:16) [1]

Подскажи, а как вообще управлять избранным (получить список и добавить новые)?


 Popup_Link: TPopupMenu;

procedure pop_item1Click(Sender: TObject);

Var
 pop_item, sub_item: TMenuItem;

 pop_item := TMenuItem.Create(Popup_Link);
 pop_item.OnClick:=pop_item1Click;
 pop_item.Caption:="Title1";
 Popup_Link.Items.Add(pop_item);

 sub_item := TMenuItem.Create(Popup_Link);
 sub_item.OnClick:=pop_item2Click;
 sub_item.Caption:="Title2";
 pop_item.Add(sub_item);


 
Konstantin   (2005-01-03 22:53) [2]

Hi!!!
У меня так:

procedure TForm1.Button1Click(Sender: TObject);
const
 NotAllowed: set of Char = ["""] + ["/"] + ["\"] + ["?"] + [":"] + ["*"] +
   ["<"] + [">"] + ["|"];
var    url: TStringList;
 fav, title: string;
begin
 fav := Load("Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Favorites");
 url := TStringList.Create;
 try
   url.Add("[InternetShortcut]");
   url.Add("URL=" + Form1.Webbrowser1.LocationURL);
   url.Add("WorkingDirectory=" + WinDir());
   url.Add("IconIndex=0");
   url.Add("ShowCommand=7");
   url.Add("IconFile=" + GetSysDir() + "\url.dll");
   title := Memo1.Text; //Название закладки
   url.SaveToFile(fav + "\" + title + ".url");
 finally
   url.Free;
 end;


 
Konstantin   (2005-01-03 22:58) [3]

А вот так получить закладки:

procedure TForm1.Button2Click(Sender: TObject);
var
 pidl: PItemIDList;
 FavPath: array [0..MAX_PATH] of char;
begin
 SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl);
 SHGetPathFromIDList(pidl, favpath);
 ListBox1.Items := GetIEFavourites(StrPas(FavPath));//Где их показать.  
end;

Тут у меня и трабл. Не могу в MainMenu добавить динамически, чтобы пункты были по названию закладки, а по клику происходил переход на нужный URL.


 
Konstantin   (2005-01-03 23:49) [4]

Как динамически создавать пункты и подпункты меню я умею, а вот чтобы они сами создавались по имени закладки при запуске приложения что-то не догоняю (((


 
Konstantin ©   (2005-01-04 13:41) [5]

Функция GetIEFavourites для получения закладок(см. выше)

function GetIEFavourites(const favpath: string): TStrings;
var
 searchrec: TSearchrec;
 str: TStrings;
 path, dir, filename: string;
 Buffer: array [0..2047] of Char;
 found: Integer;
begin
 str := TStringList.Create;
 path := FavPath + "\*.url";
 dir := ExtractFilepath(path);
 found := FindFirst(path, faAnyFile, searchrec);
 while found = 0 do
 begin
   SetString(filename, Buffer, GetPrivateProfileString("InternetShortcut",
     PChar("URL"), nil, Buffer, SizeOf(Buffer), PChar(dir+searchrec.name)));
   str.Add(filename);
   found := FindNext(searchrec);
 end;
 found := FindFirst(dir + "\*.*", faAnyFile, searchrec);
 while found=0 do
 begin
   if ((searchrec.Attr and faDirectory) > 0) and (searchrec.name[1] <> ".") then
     str.AddStrings(GetIEFavourites(dir + "\" + searchrec.name));
   found := FindNext(searchrec);
 end;
 FindClose(searchrec);
 Result := str;
end;


 
volser   (2005-01-04 22:31) [6]

В OnShow создавай их сам. В чем проблема?



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1109676753
dmitry81_2
2005-03-01 14:32
2005.03.13
Cannot create application object in shared object or library


6-1104768642
Sergey77
2005-01-03 19:10
2005.03.13
Частота обновления информации касательно подсчета трафика


1-1109334999
ТехникПТО
2005-02-25 15:36
2005.03.13
Как в MessageDlg определить нажатие кнопки?


14-1108900364
Doxygen
2005-02-20 14:52
2005.03.13
Информация на CD-диске


14-1109105043
olookin
2005-02-22 23:44
2005.03.13
Пункт меню в Outlook...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский