Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
fly_er

Как перетаскивать форму в Builder кликая в произвольном месте формы?

24.09.2008, 22:01. Показов 1580. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как перетаскивать форму в Builder кликая в произвольном месте формы?
И еще может кто в курсе, как в Builder 6 поставить на форме бэкграунд, а то тама что-то поле пропало такое
Заранее благодарен за ответ.
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2008, 22:01
Ответы с готовыми решениями:

Как установить Label в произвольном месте формы?
Здравствуйте, у меня такой воnрос , читаю книгу Макса Шлее , тут есть тема nро размеры окна виджета ,так вот есть код ...

Вывод фигуры в произвольном месте формы
Добрый день не могу разобраться как сделать чтобы фигура (квадрат или треугольник или круг) выводилась в произвольном месте формы, но не...

Надо нарисовать кнопку х в произвольном месте формы
Привет! У меня есть окно, в котором по ряду причин кнопки сворачивания и закрытия не отображаются как в остальных окнах, мне надо...

1
Adil
25.09.2008, 17:36
Лучший ответ Сообщение было отмечено как решение

Решение

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
//- Unit1.h -----------------------------
#ifndef MainH
#define MainH
//------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);
void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
private:    // User declarations
  bool Moving;
  POINT OldPos;
public:     // User declarations
__fastcall TForm1(TComponent* Owner);
};
//-------------------------------------------------
extern PACKAGE TForm1 *Form1;
//----------------------------------------
#endif
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
//- Unit1.cpp ------------------------------
#include <vcl.h>
#pragma hdrstop
 
#include 'Main.h'
//------------------------------------------
#pragma package(smart_init)
#pragma resource '*.dfm'
TForm1 *Form1;
//----------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
  Moving=false;
}
//--- Обработчик события OnMouseDown -------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,TShiftState Shift, int X, int Y)
{
  if(Button==mbLeft)
  {
    Moving=true;
    SetCapture(Handle);
    POINT pnt={X,Y};
    pnt=ClientToScreen(pnt);
    OldPos=pnt;
  }
}
//-----Обработчик события OnMouseUp--------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,TShiftState Shift, int X, int Y)
{
  if(Button==mbLeft && Moving)
  {
    Moving=false;
    ReleaseCapture();
  }
}
//--Обработчик события OnMouseMove---------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,int X, int Y)
{
  if(Moving)
  {
    POINT pnt={X,Y};
    pnt=ClientToScreen(pnt);
    Left+=pnt.x-OldPos.x;
    Top+=pnt.y-OldPos.y;
    OldPos=pnt;
  }
}
//--------------------------------
Удачи.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2008, 17:36
Помогаю со студенческими работами здесь

На всю форму залита картинка как фон, при зажатой левой клавише можно перетаскивать форму по экрану
Всем доброго времени суток. Пробовал сделать как в простом VSL Application, ничего не получается: void __fastcall...

На всю форму залита картинка как фон, при зажатой левой клавише можно перетаскивать форму по экрану
Подскажите как это можно осущиствить? Как словить момент зажатия и как продумать логику перетаскивания?

Как перетаскивать форму без бордюров?
как перетаскать форму, которая не имеет бордюров (то есть заголовка и.тд)?

Как перетаскивать форму без бордюров
Не могу перетаскивать форму ( убрал свойства FormBorderStyle = none ) Но ничего не выходит Помогите кто знает)

Как перетаскивать форму за ОПРЕДЕЛЁННЫЙ элемент управления
В интернете есть способ только как передвигать только через все элементы, например: Public Class Form1 Private ptClient As Point ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru