Главная страница
    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.036 c
14-1108942233
АНТИспаммер
2005-02-21 02:30
2005.03.13
Реально ли написать свою ОС ?


1-1109366217
ser35
2005-02-26 00:16
2005.03.13
Как сделать расчет?


1-1109255995
AdmeraL
2005-02-24 17:39
2005.03.13
REGISTRY


14-1108735519
TUser
2005-02-18 17:05
2005.03.13
Ищу Telnet-сервер ...


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