Уроки C# - WinAPI + свой контрол (2 в 1)

  Рет қаралды 20,123

XpucT

XpucT

Күн бұрын

Пікірлер: 82
@XpucT
@XpucT 3 жыл бұрын
Как открыть Блокнот и вставить в него текст: // Импорт [DllImport("user32.dll", EntryPoint = "FindWindowEx")] public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); // Импорт [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam); // Метод public void Notepad(string line) { var notepad = Process.Start("notepad.exe"); notepad.WaitForInputIdle(); SendMessage(FindWindowEx(notepad.MainWindowHandle, new IntPtr(0), "Edit", null), 0x000C, 0, line); } // Вызываем Notepad("Важный текст");
@ЕвгенийБорисов-е1ч
@ЕвгенийБорисов-е1ч 3 ай бұрын
в вёрстке просто дабавить элементу border-radius: 10px; а в по видео можно 2 ракеты построить)))
@aleksesmotsar1519
@aleksesmotsar1519 3 жыл бұрын
Пошла жесть, пьём мексидол и за работу!
@aleksesmotsar1519
@aleksesmotsar1519 3 жыл бұрын
@@MetaJamm Видимо, мы с вами живём на разных западах. В моей стране атропины применяются массово, а польза янтарной кислоты ни у кого не вызывает сомнений или вопросов. Но всё равно спасибо за развёрнутый комментарий. Не поленились ведь.
@Andymit
@Andymit 3 жыл бұрын
Либо я не так понял пояснение про вызов base.OnPaint(e), либо Вы не правильно объяснили. Ключевое слово base используется для доступа к членам базового класса. То есть в нашем случае этой строчкой мы вызываем метод базового класса Button, а не саму себя вызываем..
@MathPTU
@MathPTU 2 ай бұрын
насколько я знаю, что сначала, чтобы понять ВинАпи нужно изучить Операционные Системы, а потом будет как то понятно как там все взаимодействует
@ВикторКуликов-ь6н
@ВикторКуликов-ь6н 3 жыл бұрын
Очень интересные темы видео! Не на многих каналах такое есть. Спасибо
@oleg_kishinskii
@oleg_kishinskii 3 жыл бұрын
О! Нашел наконец-то Весь KZbin перерыл :)
@Razor_Zet
@Razor_Zet 10 ай бұрын
Столкнулся с такой проблемой: код из видео строит кнопку с обрубленными углами, то есть она не чётко закруглённая, а пропадают некоторые пиксели у закругления. Можно добавить каике-то методы, чтобы отрисовка была более качественной без искажений?
@redfox7193
@redfox7193 5 ай бұрын
По идее можно использовать элемент PictureBox. Топорно, но можно сделать как нужно.
@skarabeydm
@skarabeydm 3 жыл бұрын
Почему-то когда я попробовал перетащить эту кнопку в прогу, вылезло сообщение: *"Не удалось загрузить элемент [название элемента]. Он будет удален из набора инструментов."* И, собсна, кнопка удалилась из Панели элементов. Проблему решила кнопка *Сборка > Собрать решение, или Ctrl + Shift + B*
@mr.alexhackchannel7368
@mr.alexhackchannel7368 Жыл бұрын
7:12 IntPtr hWnd это не void. Он принимает Handle окна, а точнее указатель на него. Чтобы передать функции родителя. То есть, если говорить коротко, функция MessageBox будет знать кто родитель у неё и если передать Handle текущей формы Form1, то будет отображаться как ShowDialog и не даст клацнуть по родительской форме.
@XpucT
@XpucT Жыл бұрын
Ниже уже обсуждалось, но за лайк самому себе - это зачёт 👍
@maxekonomist1392
@maxekonomist1392 Жыл бұрын
может можно небольшой курс по api? )
@user-wu-tang
@user-wu-tang Жыл бұрын
Привет ув. Хачатур закругление к какому контролу можно еще применить? Например для кнопки, да круто смотрится. У кнопки можно выставить FlatStyle и BorderStyle, и только в этом случае смотрится красиво, если эти свойства не выставить, то даже на кнопке смотрится топорно Поглядел я на свойство формы, textBox а там таких свойств нет (FlatStyle и BorderStyle), а если например хочется закруглить textBox , что делать? Другой метод, или всё же можно этим методом.
@XpucT
@XpucT Жыл бұрын
Привет 🖐 Не пробовал. Как найду время попробую. Отметил себе ✍🏼
@UFO26
@UFO26 Жыл бұрын
19:38 А как сделать чтобы в свойствах макета пользовательской кнопки появились две переменные: "nWidthEllipse/nHeightEllipse" ? Чтобы величину скругления выбирать не программно, а кликом мыши.
@XpucT
@XpucT Жыл бұрын
Привязать переменную к UI. Обо всём об этом на канале всё есть, если смотреть последовательно: kzbin.info/aero/PL05SB3rBbUsraqiEUeS70RKhVAu97nGeb
@invokevirtual.
@invokevirtual. 2 жыл бұрын
А можно ли сделать много таких утилок, ну типо методов с рисованием в 1 классе? чтобы там были например методы - { "RoundedButton", "RoundeTextBox", RoundedProgressBar" }; ?
@XpucT
@XpucT 2 жыл бұрын
Да, сколько угодно.
@invokevirtual.
@invokevirtual. 2 жыл бұрын
@@XpucT спасибо.
@РусланБровко-к3ч
@РусланБровко-к3ч 3 жыл бұрын
Добрый день, уважаемый автор канала. Подскажите пожалуйста, как добавить на панель элементов вкладку с элементами проекта??
@XpucT
@XpucT 3 жыл бұрын
Доброе утро ☀ Попробуйте _Собрать решение_ и просто перезапустить проект.
@РусланБровко-к3ч
@РусланБровко-к3ч 3 жыл бұрын
@@XpucT, к сожалению - не помогло... Панель элементов наотрез отказывает отображать мои компоненты. Может, дело в настройках среды?
@XpucT
@XpucT 3 жыл бұрын
@@РусланБровко-к3ч нет, это глюк. Постарайся в точности повторить действия из видео. Не торопясь.
@РусланБровко-к3ч
@РусланБровко-к3ч 3 жыл бұрын
@@XpucT Перезапуск студии, создание нового проекта и повторение действий не дали должного результата... Очистка и сборка решения также не помогла. Панель элементов не хочет отображать вкладку с созданным кастомным компонентом.
@ЕвгенийКривоносов-о1ъ
@ЕвгенийКривоносов-о1ъ 2 жыл бұрын
Спасибо)
@konstantanter
@konstantanter 3 жыл бұрын
Тоже планирую делать свои уроки. Есть библиотека платная с уже нарисованными контролами. Мы (я и какой то ютубер) делали свою бесплатную которая рисовала такие же но только бесплатные 1. У контрола должны быть свои методы которые можно менять в свойствах И тд и др. Спасибо за урок. Но я делал это
@drakula_6175
@drakula_6175 3 жыл бұрын
Здравствуй, есть вопрос по поводу MessageBox. При заполнении элемента Combobox данными через ItemSourse не срабатывает без добавления сточки MessageBox.Show("Текст") перед Combobox.SelectItem= Объект.Поле . Если MessageBox добавить , то элементы появляются в приложении, если нету MessageBox - не появляется(Пустой Combobox). Это баг такой или магия MessageBox???
@acer6788
@acer6788 Жыл бұрын
Столкнулся с такой проблемой, что контрл-кнопку проект не видел, для того чтобы увидел нужно клас сделать public
@ori-d
@ori-d 2 жыл бұрын
kzbin.info/www/bejne/gYrUY4p8aNSnrsU Если ты работаешь с неуправляемой памятью, я тебя поздравляю, ты сделал утечку памяти! Продолжай учить людей делать утечки памяти!
@XpucT
@XpucT 2 жыл бұрын
Старался оставить только то, что нужно. Сейчас вот посмотрел и да, стоило оставить удаление объекта. Однако, в данном кейсе не стоило делать замечание настолько драматизированно. Замечания можно делать, не корча из себя гуру кода 👍
@rKvinty
@rKvinty 3 жыл бұрын
10:41 А что это за выделение крутое?
@ltlo9284
@ltlo9284 3 жыл бұрын
Выделяешь через alt + лкм
@BlendLogDev
@BlendLogDev 3 жыл бұрын
Так получается можно откуда угодно достучаться до любого окна, виртуально двигать мышкой, нажимать кнопки сделав такой примитивный "симулятор нахождения за ПК"?)))
@XpucT
@XpucT 3 жыл бұрын
Совершенно верно =)
@eir7775
@eir7775 3 жыл бұрын
А можно сделать также, но на wpf?
@XpucT
@XpucT 3 жыл бұрын
Можно. Там то же самое.
@eir7775
@eir7775 3 жыл бұрын
@@XpucT OnPaint говорит не существует, а про регион говорит мол он является типом но используется как переменная
@ZiyadIbrahimov
@ZiyadIbrahimov 3 жыл бұрын
Спасибо!!!!
@thomasaminer
@thomasaminer 6 ай бұрын
Ракетостроение)
@loger_1328
@loger_1328 3 жыл бұрын
Красавчик! Очень полезно и понятно
@caiiiook6858
@caiiiook6858 5 ай бұрын
А ГДЕ ВИДЕО ПО СОЗДАНИЮ ДЛЛ ?
@redtayron6390
@redtayron6390 3 жыл бұрын
Здравствуй Хачатур, Спасибо за очередной увлекательный урок, у меня один вопросик, я сделал все так, как у тебя в видео, но у меня вылетает "Ошибка CS0426 Имя типа "MyControll" не существует в типе "Form1"" как это исправить, буду благодарен за подсказку.)
@XpucT
@XpucT 3 жыл бұрын
Привет 🖐 Ответ очевиден. Проблема в имени MyControll. Внимательно смотри кто откуда наследуется и как называешь всё ;) Половину Ты видимо по уроку сделал, а половину по-своему =)
@redtayron6390
@redtayron6390 3 жыл бұрын
@@XpucT Спасибо за совет ))
@padla6304
@padla6304 Жыл бұрын
лучше нет квадратной кнопки ведь это кнопка а не жопка )))
@alexdrake913
@alexdrake913 3 жыл бұрын
Спасибо за урок! Можете сделать видео "Работа с БД?" А именно mysql?
@XpucT
@XpucT 3 жыл бұрын
Такой урок будет. Но скорее всего для спонсоров, ибо заморочек слишком много. На один монтаж заблюрирования всего и вся уйдёт очень много времени, а на тестовом сервере ничего не показательно.
@alexdrake913
@alexdrake913 3 жыл бұрын
@@XpucT даже если для спонсоров, было бы очень интересно посмотреть урок именно от Вас
@3x__
@3x__ 2 жыл бұрын
👍
@donatello752
@donatello752 3 жыл бұрын
Вот оно средство от депрессии.
@padla6304
@padla6304 Жыл бұрын
используйте WPF и не ломайте себе голову товарисчи
@RaptorTMP
@RaptorTMP 3 жыл бұрын
Привет Хачатур. Открыл в интернете ещё одно направление для ракетостроения, это написание служб для Windows. Там такое творят я аж в осадок выпал. Плюнул на всё, сделал с костылями, но по-своему. Как мне показалось, что это всё же лучше того, что предлагают интернет гуру. Пара вопросов: есть ли реально короткие пути в написании служб и можно ли их отлаживать прямо в дабагере IDE без сатанизма с предварительной проверкой в консольном проекте? Надеюсь, тема интересная ты и снимешь об этом видео. Спасибо)
@XpucT
@XpucT 3 жыл бұрын
Привет 🖐 Я создаю службу в 1 строку =))) Думаешь шучу? Нет =)) Создаю, запускаю и удаляю в 1 строку. Но если говорить о сложных комбинациях, то всё равно строк немного. Ты не первый, кто про службы спрашивает. Взял на заметку ;)
@RaptorTMP
@RaptorTMP 3 жыл бұрын
@@XpucT Круто, буду ждать)
@builderNITRO
@builderNITRO 3 жыл бұрын
Первый
Уроки C# - Глобальный Catch
4:39
XpucT
Рет қаралды 7 М.
Уроки C# - Пишем умный ланчер - C#
22:54
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 105 МЛН
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 128 МЛН
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН
Уроки C# - склеиваем exe и dll
11:35
XpucT
Рет қаралды 25 М.
Теперь ComfyUI не страшный! Flow
15:09
DoomAI - технологии
Рет қаралды 3,6 М.
Как Linux рисует окна?
48:46
Студенческие клубы разработки КНиИТ СГУ
Рет қаралды 60 М.
7 Лет Опыта в IT | Что я Понял?
19:56
Vlad Mishustin
Рет қаралды 232 М.
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 105 МЛН