проблема с координатами мыши

Тема в разделе "Delphi - Система", создана пользователем Blood Pepper, 17 фев 2005.

Статус темы:
Закрыта.
  1. Blood Pepper

    Blood Pepper Гость

    Народ, помогите, пожалуйста, умоляю, помилуйте новичка-чайника, у меня возникла серьезная проблема, мне срочняк нужно сделать фишку: нормальный рабочий стол, все путёво, никаких с виду изменений нет, но стоит пользователю навести курсор мыши к самому верху, как оттудова выезжает вниз форма. Я знаю как такую прогу сделать, изначально задать отрицательный top форме и потом организовать цикл, чтобы форма выезжала, но подскажите плиз, где и что именно надо писать, чтобы определялись координаты мыши на рабочем столе, а не на форме?? Прошу помощи Вашей<_<
     
  2. Artexoid

    Artexoid Гость

    Blood Pepper
    Вот тебе пероцедурки.

    mouse.CursorPos.X:integer //Координата курсора по горизонтали
    mouse.CursorPos.Y:integer //Координата курсора по вертикали

    Пример:
    Код (Text):
    if mouse.CursorPos.Y=0 then
    begin
      //Тут пишешь то, что тебе надо сделать когда курсос находится вверху рабочего стола.
    end;
    А еще можно сделать по другому. Можно форму не полностью спрятать, а оставить маленькую линию выглядывающую сверху экрана. Когда пользователь наведет на нее форма выедет вниз. В этом случае сразу видно, что там есть какая-то панелька или менюшка и тебе не надо узнавать позицию курсора на рабочем столе, а просто в событие OnMouseMove прописать выезд твоей формы.
     
  3. Blood Pepper

    Blood Pepper Гость

    Artexoid, спасибо огромное за совет=) А второй способ я уже пробовал использовать, но мне надо именно чтобы не было ничего видно. Спасиб, друган.
     
  4. Artexoid

    Artexoid Гость

    Blood Pepper
    Рад что смог помоч :unsure: :unsure: :blink: :blink: :huh:
     
  5. Blood Pepper

    Blood Pepper Гость

    Artexoid, кстати, заодно не подскажешь, как сделать фишку, чтобы можно было все элементы из listbox1 перенести в listbox2 нажатием одной кнопки? Как перенести по отдельности я знаю, а вот как чтобы все вместе?
     
  6. Artexoid

    Artexoid Гость

    Blood Pepper
    В смысле перенести все записи??
    Вот так:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      form1.ListBox2.Items:=form1.ListBox1.Items;
    end;
     
  7. Blood Pepper

    Blood Pepper Гость

    Ну да. Вообще то задание моё состоит в следующем: на форме имеются 2 листо бокса, между ними 4 до боли знакомые всем кнопки: перевсти одну выбранную запись из первого лист бокса во второй, из второго в первый, и перевести все записи из первого во второй и из второго в первый. Причем когда переводишь записи, из родительского лист бокса они должны удаляться. С кнопками, добавляющими по одной записи я разобрался, вот код:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if listbox2.Items.IndexOf(listbox1.Items[listbox1.itemindex])=-1
    then listbox2.items.add(listbox1.items[listbox1.itemindex]);
    listbox1.items.Delete(listbox1.ItemIndex);
    end;

    А вот как грамотно описать операцию со всеми записями, а то чё-то я там намудрил, он снова ошибки выдает?
     
  8. Barmutik

    Barmutik Гость

    Как насчёт:

    Код (Text):
    for I := 0 to ListBox1.Items.Count - 1 do
    ListBox2.Items.Add(ListBox2.Items[I]);

    ListBox1.Items.Clear;
     
  9. Artexoid

    Artexoid Гость

    Blood Pepper
    А что разве мой код не переносить все записи с Listbox1 в Listbox2 ???
     
  10. Artexoid

    Artexoid Гость

    Blood Pepper
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     form1.ListBox2.Items:=form1.ListBox1.Items;
     form1.ListBox1.Clear; //вот это подпиши и все удалиться в ListBox1
    end;
    По моиму самый быстрый способ вот этот и без цыклов
     
  11. Barmutik

    Barmutik Гость

    А если в ListBox2 уже были записи до этого .. то что с ними будет? :unsure:
     
  12. Blood Pepper

    Blood Pepper Гость

    Artexoid, слушай, Barmutik дело говорит, ты просто присваиваешь все значения первого лист бокса второму, а потом чистишь первый, так ведь что если во втором уже есть значения после добавления одинарной кнопкой? Снова посыпятся ошибки или в лучшем случае добавятся 2 одинаковых записи, а мне надо чтобы все разные были.
     
  13. Artexoid

    Artexoid Гость

    Blood Pepper
    Barmutik
    А как вам такая комбинация !!??? :unsure:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      form1.ListBox2.Items.AddStrings(form1.ListBox1.Items);
      form1.ListBox1.Clear;
    end;
    Вот тут все работает нормально и записи в listbox2 которые были не теряются! :unsure: :blink:
     
  14. zubr

    zubr Гость

    Ну можно еще так:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ListBox2.Items.AddStrings(ListBox1.Items);
    ListBox1.Items.Clear;
    end;
     
  15. zubr

    zubr Гость

    Artexoid
    Мы с тобой одновременно :unsure:
     
  16. Artexoid

    Artexoid Гость

    zubr
    Ну ты черт!! :unsure: :unsure: :blink: :blink: :huh: :huh: :( :( :lol: :lol: :lol: :lol:
    Ты с кем-то еще там 2 раза ответил :lol: :lol: :lol: :lol: :lol:
     
  17. Blood Pepper

    Blood Pepper Гость

    кстати, с координатами мыши чё-то не работает
     
  18. Artexoid

    Artexoid Гость

    Blood Pepper
    Короче вот. Я тут тебе написпл примерчик, как я понял : 2 Listbox 4 Кнопки (Перемещают записи ил 1-го Listbox в другой и назад), Кнопка выхода, Все это на форме которая выезжает когда курсор вверху экрана. Конечно код можно сократить немного, продумать получше, но общий смысл поймеш.
    Загрузить пример.
     
  19. Artexoid

    Artexoid Гость

    Blood Pepper
    Кстате когда скачаеш посмотриш скажи помогло или нет !!)
     
  20. Blood Pepper

    Blood Pepper Гость

Загрузка...
Похожие Темы - проблема координатами мыши
  1. c0de3r
    Ответов:
    5
    Просмотров:
    115
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    133
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    122
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102
Статус темы:
Закрыта.

Поделиться этой страницей