Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
7 / 4 / 3
Регистрация: 17.12.2021
Сообщений: 187
1

Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать

28.04.2022, 14:21. Показов 877. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание, и что надо сделать я прикрепил. Я сделал все, что до 3 пункта (zip файл с проектом тоже прикрепил), но дальше я не понимаю, как данный код реализовать в мой проект. Может я чего-то не понимаю? Но код который, у меня на данный момент вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
 
namespace WinAnim
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        
    }
}
Сам код, который нужно вставить вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace AnimatedWindow
{
public class WinAPIClass
{
#region Анимация окна
/// <summary>
/// Тип анимации окна. Перечисление возвращает тип int
/// после приведения. Каждому элементу присвоено
/// свое значение типа int.
/// </summary>
[Flags]
public enum AnimateWindowFlags:int
{
AW_HOR_POSITIVE = 1,
AW_HOR_NEGATIVE = 2,
AW_VER_POSITIVE = 4,
AW_VER_NEGATIVE = 8,
AW_CENTER = 16,
AW_HIDE = 65536,
AW_ACTIVATE = 131072,
AW_SLIDE = 262144,
AW_BLEND = 524288
};
/// <summary>
/// Анимация окна.
/// </summary>
/// <param name="hwnd">Окно.</param>
/// <param name="dwTime">Время.</param>
/// <param name="dwFlags">Тип анимации. Если в
/// неуправляемом коде используется перечисление, то его
/// нужно конвертировать в тип данных int.
 </param>
/// <returns></returns>
[DllImportAttribute("user32.dll",EntryPoint="AnimateWindow",Set
LastError=true)]
public static extern bool AnimateWindow(IntPtr hwnd,int
dwTime,int dwFlags);
/// <summary>
/// Анимация окна.
/// </summary>
/// <param name="ctrl">Окно.</param>
/// <param name="dwTime">Время.</param>
/// <param name="Flags">Флаги.</param>
/// <returns></returns>
public static bool AnimateWindow(Control ctrl,int dwTime,
AnimateWindowFlags Flags)
{
return AnimateWindow(ctrl.Handle,dwTime,(int)Flags);
}
#endregion
}
}
Обработчики кнопок (их тоже надо вставить в код, последовательно)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void btnAW_BLEND_Click(object sender,
System.EventArgs e)
{
// Скрываем окно
this.Hide();
// Запускаем анимацию.
// Второй параметр в скобках — время анимации в
// миллисекундах.
WinAPIClass.AnimateWindow(this, 3000,
WinAPIClass.AnimateWindowFlags.AW_ACTIVATE|
WinAPIClass.AnimateWindowFlags.AW_BLEND);
// Отображаем кнопки после анимации
this.btnAW_BLEND.Invalidate();
this.btnHOR_AW_SLIDE.Invalidate();
this.btnCenter_AW_SLIDE.Invalidate();
}
private void btnHOR_AW_SLIDE_Click(object sender,
System.EventArgs e)
{
this.Hide();
WinAPIClass.AnimateWindow(this, 3000,
WinAPIClass.AnimateWindowFlags.AW_HOR_POSITIVE|
WinAPIClass.AnimateWindowFlags.AW_SLIDE);
this.btnAW_BLEND.Invalidate();
this.btnHOR_AW_SLIDE.Invalidate();
this.btnCenter_AW_SLIDE.Invalidate();
}
private void btnCenter_AW_SLIDE_Click(object sender,
System.EventArgs e)
{
this.Hide();
WinAPIClass.AnimateWindow(this, 3000,
WinAPIClass.AnimateWindowFlags.AW_CENTER|
WinAPIClass.AnimateWindowFlags.AW_SLIDE);
this.btnAW_BLEND.Invalidate();
this.btnHOR_AW_SLIDE.Invalidate();
this.btnCenter_AW_SLIDE.Invalidate();
}
Как это можно реализовать? Возможно глупый вопрос, но все-таки
Миниатюры
Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать   Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать   Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать  

Вызов функции API. Что делать, и как есть. Но я тупо не понимаю, как это реализовать  
Вложения
Тип файла: rar WinAnim.rar (17.4 Кб, 5 просмотров)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2022, 14:21
Ответы с готовыми решениями:

НЕ понимаю как это делать !
Нужна помощь срочно!!!

Не понимаю как это делать!
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) количество положительных...

Подскажите как делать это. А то не понимаю
File:Имя файла. Размер. Дата создания. Количество обращений. Создать массив объектов. Вывести:...

Не понимаю как это делать могли бы написать и объяснить
Объекты могут быть использованы для построения различных структур данных. Часто встречающаяся...

3
Администратор
Эксперт .NET
17772 / 13892 / 5323
Регистрация: 17.03.2014
Сообщений: 28,429
Записей в блоге: 1
28.04.2022, 15:45 2
Цитата Сообщение от egor2224 Посмотреть сообщение
Как это можно реализовать?
Элементарно.
1) Добавляете в проект новый файл с классом WinAPIClass. Исправляете переносы строк там где ошибки компиляции.
2) На форму добавляете элементы управления описанные в таблице
3) Копируете в класс формы код метода btnAW_BLEND_Click
4) В свойствах кнопки btnAW_BLEND связываете событие Click с методом btnAW_BLEND_Click
5) Запускаете приложение!
0
7 / 4 / 3
Регистрация: 17.12.2021
Сообщений: 187
28.04.2022, 16:22  [ТС] 3
В чем ошибка либо я что-то не понял
Вложения
Тип файла: rar WinAnim.rar (36.0 Кб, 5 просмотров)
0
Администратор
Эксперт .NET
17772 / 13892 / 5323
Регистрация: 17.03.2014
Сообщений: 28,429
Записей в блоге: 1
28.04.2022, 17:29 4
Лучший ответ Сообщение было отмечено egor2224 как решение

Решение

egor2224, вы не связали методы btnAW_BLEND_Click, btnHOR_AW_SLIDE_Click, btnCenter_AW_SLIDE_Click с событием Click соответствующей кнопки. Откройте по очереди свойства каждой кнопки, переключитесь на события (кнопка с молнией наверху), найдите Click и выберите в выпадающем списке нужный метод.
0
28.04.2022, 17:29
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2022, 17:29
Помогаю со студенческими работами здесь

Пожалуйста нужна программа , не понимаю как это делать(
Изображения R, G и B компонент, представляют собой два одинаковых по размеру прямоугольника...

Как реализовать вызов деструктора в lua api?
Здравствуйте всем. У меня есть вопрос, получилось в lua api c++ реализовать ООП. Вызов функции...

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

Не понимаю как правильно это всё реализовать. Буду очень признателен
АТД - однонаправленных список с элементами типа char. дополнительно перегрузить следующие...

Есть задача (в описании), как это реализовать с использованием флажка и будет ли это рационально ?
Изменить все строки матрицы, в которых отрицателен элемент главной диагонали: к каждому элементу...

Не понимаю, как работает вызов функции. От пролога до эпилога
Приветствую, форумчане. Ступил на путь изучения computer science с книги небезизвестного автора...

Диагностика сети интернет, я так понимаю нужен ping, но как это реализовать в с++
Как пропинговать всю сеть? Прошу помочь скриптом,литературой,планом действий...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru