Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
#1

Календарик на рабочий стол в C++/WinAPI - C++

05.05.2012, 18:15. Просмотров 3107. Ответов 31
Метки нет (Все метки)

Хочу сделать типо календарь/организатор/часы.
Но надо чтоб он "висел" на рабочем столе.
Можно ли такое сделать чтоб было как в Windows 7??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2012, 18:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Календарик на рабочий стол в C++/WinAPI (C++):

Рабочий стол - C++
Как мне прописать в программе путь до рабочего стола?

Скрипты на рабочий стол - C++
Всем читающим, здравствуйте. Не знал в какую тему писать, решил сюда. У всех наверно возникал вопрос как сделать свой рабочий стол...

удаленный рабочий стол - C++
народ,подскажите кто знает! хочу написать прогу на подобии удаленный рабочий стол. чтобы на своем мониторе видеть монитор компа к которому...

Заменить рабочий стол картинкой рабочего стола - C++
Не знаю даже, туда ли я пишу, но все же. Реально ли сделать программу, которая при запуске будет сворачивать все окна, делать скриншот...

C++ И рабочий стол win32 ? - C++
Здравствуйте уважаемые форумчане!! Не судите строго за вопрос, но я уже лет 7-м не писал на С++, работаю с Пыхом и ЖаваСкрипт(так уж судьба...

Календарик у графическом режиме - C++
Нужно написать програмку на С которая будет выводить календарик у графическом режиме Добавлено через 3 минуты ...для текущего месяца

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
05.05.2012, 19:00 #2
ЧТо значит висел?
Прилепи форму со стилем "без бордюров"
Я в свое время еще кнопочки опций как у гаджетов приделовал
0
Миниатюры
Календарик на рабочий стол в C++/WinAPI  
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
05.05.2012, 19:23 #3
Avazart
Гаджеты на рабочий стол win 7 можно на C++ писать?
Я нашел только как делать гаджет как "сайт" с помощью html, css, xml
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Вы сами разбирались как делать на C++ или вы где прочитали? Если второе, то не могли бы ссылку дать?
1
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
05.05.2012, 19:31  [ТС] #4
мне на XP а не на Win 7
я не думаю что в етом есть разница

Avazart,
спасибо буду пробовать
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
05.05.2012, 19:34 #5
Я писал на Builder-e, но думаю на WinApi не проблема обычную форму забабахать без бордюров и кнопок
Насчет того как оно из нутри сделано не узнавал самому интересно...
Кстати кнопки там липил на основе прозрачности формы, не знаю как с этим в XP
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
05.05.2012, 22:15 #6
Цитата Сообщение от Avazart Посмотреть сообщение
на основе прозрачности формы, не знаю как с этим в XP
Всё нормально так же как и Win 7
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
05.05.2012, 22:18 #7
Да поидее резать можно и регинами
0
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
06.05.2012, 17:14  [ТС] #8
Щас пробую делать.
Только слепил календарик и форму
а как можно прилепить к рабочему столу ??
оно должно быть дочерним окном от стола??

Добавлено через 2 часа 35 минут
помогите!
как его прикрепить к рабочему столу
если модно пример или ссылку

Добавлено через 3 часа 32 минуты
апапап
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
06.05.2012, 17:32 #9
как его прикрепить к рабочему столу
Да по мойму он и так держаться должен...не отваливаясь
Гаджеты висят как обычные окна.
Только их нельзя сверуть и окна отображаются панели задач, ну и рализовано прилипание к краям экрана, перетаскиваниее за весь гаджет...
Что значит прикрепить? В чем проблема?
0
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
06.05.2012, 17:55  [ТС] #10
1. Я убираю рамку ил заголовок через WS_POPUP но тогда окно не перемещается
2. Если нажать свернуть все окна то оно сворачивается
Как можно отменить сворачивание?
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
06.05.2012, 18:11 #11
1. Я убираю рамку ил заголовок через WS_POPUP но тогда окно не перемещается.
C++
1
2
ReleaseCapture();
SendMessage(hWnd, WM_SYSCOMMAND, 0xF012, 0);//Перетаскивание не за заголовок
2.Как можно отменить сворачивание?
Перехватить сообщение SC_MINIMIZE и не передавать дальше
C++
1
2
3
4
  void __fastcall WMSysCommand(TWMSysCommand&);
   BEGIN_MESSAGE_MAP 
     MESSAGE_HANDLER(WM_SYSCOMMAND,TWMSysCommand,WMSysCommand); // Спрятать в панели задач
   END_MESSAGE_MAP(TComponent);
C++
1
2
3
4
5
6
7
//---------------------------------------------------------------------------
void __fastcall TFMyDeskTop::WMSysCommand(TWMSysCommand& Msg)
{       // Кнопка свернуть
if (Msg.CmdType == SC_MINIMIZE) Visible= false;
//else DefWindowProc(Handle,WM_SYSCOMMAND,Msg.CmdType,MAKELPARAM(Msg.XPos,Msg.YPos)); Это предача дальше
Msg.Result= 0;
}
Это примеры из моей проги на Builder-e, но думаю пригодится
1
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
06.05.2012, 19:16  [ТС] #12
первое работает а второе немогу сделать
нашол стиль окна WS_EX_TOPMOST
но тогда окно не сворачивается совсем и просто стоит поверх всех окон а мне надо токо чтоб на рабочем столе

Добавлено через 2 минуты
НАШОЛ!!!!!!!

SetParent(MainWindowHandle, FindWindow(L"Progman", 0));


Добавлено через 2 минуты
Но есть еще проблемка
как я понимаю -теряется фокус
тоесть когда я нажимаю на свернуть все окна то видно только белий прямоугольник но надписи нету

Добавлено через 32 минуты
помогите!
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
06.05.2012, 20:11 #13
Сворачивание можно запретить
C++
1
2
3
4
5
6
7
8
9
10
11
12
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    if(wParam==SC_MINIMIZE) return 0; // !!!! Не уверен что это корректно
 
    switch (message) 
    {
    case WM_CREATE:
        {
Но это не срабатывает при нажатии кнопки свернуть все окна.

Добавлено через 7 минут
Изменил ещё это и теперь вроде работает как надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;
 
   hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной
 
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, FindWindow(L"Progman", 0), NULL, hInstance, NULL);//HWND hWndParent-дескриптор родительского или окна владельца
 
   if (!hWnd)
   {
      return FALSE;
   }
0
Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
06.05.2012, 20:22  [ТС] #14
не работает...
наверное надо делеать все время перерисовку
щас попробую делать таймером...
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
06.05.2012, 20:26 #15
Не срабатывает когда фокус на рабочем столе.
Таймер - коряво, ненужный загруз проца
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 20:26
Привет! Вот еще темы с ответами:

Календарик на рабочий стол в C++/WinAPI - C++ WinAPI
Вот сижу делаю календарик как в windows 7 столкнулся с проблемой: как прикрепить его к рабочему столу?? мне надо делать его дочерним от...

Рабочий стол - Windows 8, 8.1
Добрый день! У меня возникла проблема при запуске Ноутбука, он по началу очень долго грузился (минуты 3). Затем когда я зашёл в...

3D рабочий стол? - Java SE
Как поставить 3D рабочий стол????

Рабочий стол - Windows 7
Помогите. Установил какую-то программу Real Desktop Free(рабочий стол становится как стол). Захотел удалить, удалил из панели управления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.05.2012, 20:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru