Главная страница
    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.042 c
14-1108640990
dr Tr0jan
2005-02-17 14:49
2005.03.13
Ремонт телевизора


1-1109626493
dmk
2005-03-01 00:34
2005.03.13
Как определить длину текста в Clipboard?


6-1105033797
Progh
2005-01-06 20:49
2005.03.13
Ошибка при отсылке письма через idSMTP


14-1108956855
Doxygen
2005-02-21 06:34
2005.03.13
Очередные глюки этого сайта


6-1105438289
Senti
2005-01-11 13:11
2005.03.13
Передача файлов в отдельных потоках





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский