Свернуть WPF на панели задач. Щелкните мышью.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Свернуть WPF на панели задач. Щелкните мышью.

Сообщение Anonymous »

У меня есть приложение WPF, которое по требованию заинтересованных сторон должно иметь WindowStyle="None", ResizeMode="NoResize" и AllowTransparency="True". Я знаю, что, если вы не используете Chrome Windows, вам придется заново реализовать многие функции обработки окон ОС. Мне удалось создать рабочую кнопку свертывания, однако мне не удалось повторно реализовать функцию, позволяющую Windows сворачивать приложение при нажатии на значок панели задач в нижней части экрана.
Требования пользователя таковы, что приложение должно сворачиваться при щелчке значка на панели задач и восстанавливаться при повторном нажатии. Последний никогда не переставал работать, но первый мне не удалось реализовать. Вот код, который я использую:

public ShellView(ShellViewModel viewModel)
{
InitializeComponent();

// Set the ViewModel as this View's data context.
this.DataContext = viewModel;

this.Loaded += new RoutedEventHandler(ShellView_Loaded);
}

private void ShellView_Loaded(object sender, RoutedEventArgs e)
{
var m_hWnd = new WindowInteropHelper(this).Handle;
HwndSource.FromHwnd(m_hWnd).AddHook(WindowProc);
}

private IntPtr WindowProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
if (msg == NativeMethods.CS_DBLCLKS)
{
this.WindowState = WindowState.Minimized;
// handled = true
}

return IntPtr.Zero;
}

///
/// http://msdn.microsoft.com/en-us/library ... s.85).aspx
///
internal class NativeMethods
{
public const int SC_RESTORE = 0xF120;
public const int SC_MINIMIZE = 0xF020;
public const int SC_CLOSE = 0xF060;
public const int WM_SYSCOMMAND = 0x0112;
public const int WS_SYSMENU = 0x80000;
public const int WS_MINIMIZEBOX = 0x20000;
public const int CS_DBLCLKS = 0x8;
NativeMethods() { }
}


Подробнее здесь: https://stackoverflow.com/questions/625 ... kbar-click
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Свернуть WPF на панели задач. Щелкните мышью.
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Свернуть WPF на панели задач. Щелкните мышью.
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Свернуть WPF на панели задач. Щелкните мышью.
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Черепаха Python после рисования, щелкните мышью, очистите экран и перерисуйте
    Anonymous » » в форуме Python
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Щелкните мышью и перетащите вместо горизонтальной полосы прокрутки (чтобы просмотреть полное содержимое дочернего элемен
    Anonymous » » в форуме Jquery
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»