Главная страница
    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.048 c
3-1108428160
Витёк
2005-02-15 03:42
2005.03.13
Добавить поле в DBF, используя ADO


14-1108986537
Магнит
2005-02-21 14:48
2005.03.13
вопрос обладателям КПК


1-1109317855
Pashkerton
2005-02-25 10:50
2005.03.13
Дерево подчинённости


4-1106855808
Gero
2005-01-27 22:56
2005.03.13
Предел размера буфера консоли


1-1109750399
zorik
2005-03-02 10:59
2005.03.13
работа с Excel





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