Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 16:46 01.06.24 
Компютри и Интернет
   >> .NET
Всички теми Следваща тема *Кратък преглед

Тема Vyprosche ...нови  
АвторUchesht (Нерегистриран)
Публикувано16.07.04 09:03



Abe kak reshavate vyprosa s razdelitelnata sposbnost na ekranite ? Edno e da pravish formi za 1280/768 i syshtite tezi formi izglejdat ujasno na 800/600 ?
Pri polojenie che ne se znae na kakva razdel. sposobnost shte se izpylniava prilojenieto...
Izpolzvate li niakavi tehniki ? Ako da - kakvi sa te ?

Blagodaria!



Тема Re: Vyprosche ...нови [re: Uchesht]  
Автор Blandings Castle (Emsworth)
Публикувано16.07.04 09:19



Класическата схема, не само в .NET е да решиш каква ти е минималната резолюция, под която ще ти работи програмата и рисуваш по нея. По принцип много зависи и от вида на формите, ако е пълна с всякакви котроли, задаваш Anchor-и, за да не се омаже вида и при resize, ако е е някакво голямо edit поле, само слагаш scroll bars.



Тема Re: Vyprosche ...нови [re: Uchesht]  
Автор nevil (Unikalen)
Публикувано17.07.04 11:32



Moga da ti dam kod za VB 6 kak da promenjash razdelitelnata sposobnost, no me sumnjava, che shte trugne za VB.NET, puk i ti sigurno ne pishesh na VB.NET



Тема Re: Vyprosche ...нови [re: nevil]  
Автор шeф нa Coди Дeвня (full optional)
Публикувано20.07.04 14:45



аз мога да ти дам код и на vb.net и c#.net и квот се сетиш да сменя разделителната способност ... обаче това е много кофти идея ... представи си ти като юзер някоя тъпа бъгава програма като я стартираш да ти смени резолюцията ... аз лично ще откача ...

най-доброто е да се предифинират параметрите на всички форми за няколко резолюции ... да се проверява резолюцията на старт ... и да се показват формите според резолюцията ...


XM TurboCT .. where comfort meets power

Тема Re: Vyprosche ...нови [re: шeф нa Coди Дeвня]  
Автор Дeшeв (Муслон)
Публикувано20.07.04 21:12



В отговор на:

някоя тъпа бъгава програма като я стартираш да ти смени резолюцията




Особено ако гръмне и те остави с грозна разделителна способност и разместени икони на десктопа.

--
Екстремно програмиране на български.


Тема Re: Vyprosche ... [re: шeф нa Coди Дeвня]  
Автор nevil (Unikalen)
Публикувано20.07.04 22:19



Izprati mi kod za VB.NET, za smjana na razdelitelnata sposobnost? Shte sum ti blagodaren. Az ponjakoga izpolzvam tova v opredeleni programi, napodobjavashti igri
Blagodarja predvaritelno!!!



Тема Re: Vyprosche ...нови [re: nevil]  
Автор шeф нa Coди Дeвня (full optional)
Публикувано21.07.04 02:02



vb код нямам щото имам стара вражда с vb-то и се изприщвам леко като чуя за подобни "programmer-friendly" начинания ... ама мога да ти обесня как стоят нещата на C# ... за vb.net ситуацията е 1 към 1 ... можеш да го нацъкаш за 5 мин ...

в .нет взимаш резолюцията чрез Screen.PrimaryScreen .. обаче тука имаш само get .. така че промяната става малко по по-друг начин ..

в .нет няма директна поддръжка за това и се налага малко да попрограмираш ... ако викането на няколко апита може да се нарече програмиране ...

това което ти трябва е :

EnumDisplaySettings
ChangeDisplaySettings

добавяш така:

class User32
{
[DllImport("user32.dll")]
public static extern int EnumDisplaySettings (
string deviceName, int modeNum, ref DEVMODE devMode );
[DllImport("user32.dll")]
public static extern int ChangeDisplaySettings(
ref DEVMODE devMode, int flags);

public const int ENUM_CURRENT_SETTINGS = -1;
public const int CDS_UPDATEREGISTRY = 0x01;
public const int CDS_TEST = 0x02;
public const int DISP_CHANGE_SUCCESSFUL = 0;
public const int DISP_CHANGE_RESTART = 1;
public const int DISP_CHANGE_FAILED = -1;
}
[DllImport("user32.dll")]


[StructLayout(LayoutKind.Sequential)]
public struct DEVMODE
{
. . . [MarshalAs(UnmanagedType.ByValTStr,SizeConst=32)]
. . . public string dmDeviceName;
. . . public short dmSpecVersion;
. . . public short dmDriverVersion;
...

}

и викаш така:

DEVMODE dm = new DEVMODE();
dm.dmDeviceName = new String (new char[32]);
dm.dmFormName = new String (new char[32]);
dm.dmSize = (short)Marshal.SizeOf (dm);

if (0 != User32.EnumDisplaySettings (null, User32.ENUM_CURRENT_SETTINGS, ref dm))
{

dm.dmPelsWidth = iWidth;
dm.dmPelsHeight = iHeight;

int iRet = User32.ChangeDisplaySettings (ref dm, User32.CDS_UPDATEREGISTRY);
}


това е ... лесно и просто ...


XM TurboCT .. where comfort meets power

Тема Re: Vyprosche ...нови [re: шeф нa Coди Дeвня]  
Автор nevil (Unikalen)
Публикувано21.07.04 17:06



Az sum ja polzval tazi API funkcija ChangeDisplaySettings i znam kak stava delaverata s neja. Pisal sum programa na VB6, smajath, che ima njakakuv class v .NET Framework, koito ne go znam, vse pak blagodarja




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.