Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Multi screen output


Jon ©   (2008-02-07 17:05:00) 

How can I force a KOL app to show on a second screen?
Is there a feature such as TScreen as on the VCL?


pibraady   (2008-03-02 09:02:00) [1]

Today was a complete loss, but it's not important. I've just been letting everything wash over me lately. I haven't gotten much done these days.   Today was a loss, but that's how it is. I haven't gotten much done these days, but what can I say? I can't be bothered with anything recently. I've just been letting everything wash over me recently. Oh well. Pfft.   I haven't gotten anything done these days. I can't be bothered with anything recently, but what can I say? Today was a total loss. I just don't have anything to say lately. Eh.   Not much on my mind worth mentioning. I've basically been doing nothing. Today was a total loss. Whatever. I've just been staying at home doing nothing, but so it goes. Such is life.   Nothing exciting going on to speak of. Today was a complete loss, but shrug. I've just been staying at home not getting anything done. I've just been letting everything pass me by , but I don't care. I just don't have anything to say recently, but that's how it is. Such is life.  <a href= http://ireehiorendes.wizhoo.com/granny-slut.html>Granny Slut </a>


Jon   (2008-02-14 20:48:00) [2]

Ah, the API's I was searching for, thank you very much indeed!


lse   (2008-02-14 20:36:00) [3]

Hi, use winapi to do this. or here's some code to start:

unit UMultiMon;

interface
uses
     multimon,
     windows;
type
  pmmlist = ^tmmlist;
  tmmlist = record
    mmlast : integer;
    hm : array[0..9] of hmonitor;
    rm : array[0..9] of trect;
  end;

function MMGetMonitorCount : integer;
function MMGetMonitorRect( n : integer ) : TRect;

var
MonitorCount : integer;

implementation
function MakeRect(left, top, width, height : integer ) : trect;
 begin
   Result.Left := left;
   Result.top := top;
   Result.Right := left + width;
   Result.bottom := top + height;
 end;

var
mm : tmmlist;

function EnumMonitorsProc(hm: HMONITOR; dc: HDC; r: PRect; Data: Pointer): Boolean; stdcall;
 var
   m : pmmlist;
 begin
   m := pmmlist( Data );
   inc( m.mmlast );
   m.hm[m.mmlast] := hm;
   m.rm[m.mmlast] := r^;
   Result := True;
 end;

function MMGetMonitorCount : integer;
  begin
    mm.mmlast := -1;
    EnumDisplayMonitors(0, nil, @EnumMonitorsProc, LongInt( @mm ));
    Result := mm.mmlast;
  end;
 
function MMGetMonitorRect( n : integer ) : TRect;
  begin
   Result := MakeRect( 0, 0, 0, 0 );
   if (n > -1)and(n <= mm.mmlast ) then begin
        Result := mm.rm[n];
   end;
  end;
initialization
 begin
  MonitorCount := MMGetMonitorCount;
 end;


Use MMGetMonitorRect to get rect of other monitor and place your windows there.


Наверх

Титульная страница Поиск, карта сайта Написать письмо