Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2009, 07:13   #1
KurtWagner
Заблокирован
 
Регистрация: 12.01.2009
Сообщений: 60
Вопрос у меня 2-ва вопроса...Как

как обновить, т.е. сбросить как в стандарте у виндовса через правую кнопку мышм.. прост я сделал изменение в рестре и они срабатывают только при обнове...(сбросе) и как сделать горячию клавищу не через Ctrl или там Alt + Shift а просто скажем NumPad3 вот код... который надо вправить

if not RegisterHotkey(Handle, 15, MOD_Alt, vk_Numpad3) then
ShowMessage('Зажал Alt + Numpad3');

хочу через одну а не через 2-ве...
KurtWagner вне форума Ответить с цитированием
Старый 29.01.2009, 08:07   #2
NOOB
Пользователь
 
Аватар для NOOB
 
Регистрация: 01.11.2007
Сообщений: 45
По умолчанию

1) тебе нужно создать PopupMenu, там создай пункт "Обновить";
2) не знаю зачем тебе обновлять на клавишу "vk_Numpad3", в Windows вообще по умолчанию обновление на "F5" можешь сделать так: в PopupMenu выбери пункт "Обновить" и задай ShotCut = "F5", было бы понтово в твою процедуру добавить проверку: какой компонент твоей формы в данный момент активен, чтобы можно было обновлять по разному, отдельно для каждого компонента;
3) создай обрабочтчик на OnClick пункту "Обновить", или присвой ему "Action";
4) Если тебе принципиально важно обновлять на клавишу "vk_Numpad3", то создай обработчик события OnKey (любой из трех) для того компонента, который тебе нужно обновлять и туда тоже вставь вызов твоей процедуры.
NOOB вне форума Ответить с цитированием
Старый 29.01.2009, 08:11   #3
KurtWagner
Заблокирован
 
Регистрация: 12.01.2009
Сообщений: 60
Восклицание

NOOB я хочу не через правую а через Button1 и какой кодинг?
KurtWagner вне форума Ответить с цитированием
Старый 29.01.2009, 08:30   #4
NOOB
Пользователь
 
Аватар для NOOB
 
Регистрация: 01.11.2007
Сообщений: 45
По умолчанию

Что ты хочешь обновить, какой компонент или всю форму разом?
NOOB вне форума Ответить с цитированием
Старый 29.01.2009, 12:57   #5
]Wowan[
Delphi forever
Форумчанин
 
Аватар для ]Wowan[
 
Регистрация: 13.01.2009
Сообщений: 113
Сообщение Пример

Если ты хочешь обновить окно, пошли сообщение WM_Paint его дескриптору. Например как ты хотел по кнопке Button1.

Код:
procedure TFrom1.Button1Click (Sender: TObject);
begin
SendMessage (Form1.Handle, WM_Paint, 0, 0);
End;
Программы на заказ Delphi, Pascal.
ася: 415 253 529. Мыло: wowan141750@gmail.com.

Последний раз редактировалось rpy3uH; 30.01.2009 в 10:27.
]Wowan[ вне форума Ответить с цитированием
Старый 30.01.2009, 00:13   #6
KurtWagner
Заблокирован
 
Регистрация: 12.01.2009
Сообщений: 60
Восклицание

хочу сброить стол, т.е. я сделал замену в рестре и мне надо обновить стол вот у виндовса есть такая функция когда нажимаем правой кнопкой мыши на рабочем столе и шелкаем Обновить мне помогает но я хочу это сделать кодом в программе... вот это сразу говорью не помогло

Код:
 uses
   ShlObj;

 procedure RefreshDesktop1;
 begin
   SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
 end;

Последний раз редактировалось rpy3uH; 30.01.2009 в 10:27.
KurtWagner вне форума Ответить с цитированием
Старый 30.01.2009, 08:03   #7
vetalmash
Новичок
Джуниор
 
Регистрация: 30.01.2009
Сообщений: 2
По умолчанию Можно ли

Можно ли в Delphi 7 создать прогу которая через каждую минуту в другою проге нажимала на одну кнопку
vetalmash вне форума Ответить с цитированием
Старый 30.01.2009, 08:37   #8
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от KurtWagner Посмотреть сообщение
хочу сброить стол, т.е. я сделал замену в рестре и мне надо обновить стол вот у виндовса есть такая функция когда нажимаем правой кнопкой мыши на рабочем столе и шелкаем Обновить мне помогает но я хочу это сделать кодом в программе...
Delphi World :
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  SendMessage(FindWindow('Progman', 'Program Manager'), WM_COMMAND, $A065, 0);
end;
Код:
procedure RefreshDesktop;
var
  hDesktop: HWND;
begin
  hDesktop := FindWindowEx(FindWindowEx(FindWindow('Progman', 'Program Manager'), 0,'SHELLDLL_DefView', ''), 0, 'SysListView32', '');
  PostMessage(hDesktop, WM_KEYDOWN, VK_F5, 0);
  PostMessage(hDesktop, WM_KEYUP, VK_F5, 1 shl 31);
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 30.01.2009, 08:42   #9
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от vetalmash Посмотреть сообщение
Можно ли в Delphi 7 создать прогу которая через каждую минуту в другою проге нажимала на одну кнопку
Можно ...
DelphiWorld тебе поможет ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 30.01.2009, 10:21   #10
KurtWagner
Заблокирован
 
Регистрация: 12.01.2009
Сообщений: 60
По умолчанию

Kotofff брат, не помогает...

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure RefreshDesktop;
var
  hDesktop: HWND;
begin
  hDesktop := FindWindowEx(FindWindowEx(FindWindow('Progman', 'Program Manager'), 0,'SHELLDLL_DefView', ''), 0, 'SysListView32', '');
  PostMessage(hDesktop, WM_KEYDOWN, VK_F5, 0);
  PostMessage(hDesktop, WM_KEYUP, VK_F5, 1 shl 31);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SendMessage(FindWindow('Progman', 'Program Manager'), WM_COMMAND, $A065, 0);
end;

end.

Последний раз редактировалось rpy3uH; 30.01.2009 в 10:27.
KurtWagner вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать в Edit1.Text у меня информация Integer Shaitan63 Общие вопросы Delphi 11 29.01.2009 11:20
2 вопроса по ХП Molotok Windows 14 17.12.2008 12:43
сайт сделан в CSS, почему в експлолере он у меня глючит, а в мозиле все показывается как я сделал? -=Ламер=- HTML и CSS 16 11.09.2008 18:12
Меня интересует проблема перегрева видеокарты... Как можно уменьшить её нагрев?? ЕвгениуS Компьютерное железо 13 21.07.2008 15:35