OPENGL - ДІҢ НЕГІЗГІ ҚАСИЕТТЕРІ


Жұмыс түрі:  Дипломдық жұмыс
Тегін:  Антиплагиат
Көлемі: 55 бет
Таңдаулыға:   

МАЗМҰНЫ

Кіріспе . . . …4

1 ТАРАУ Delphi FOR. NET жобаларында OPENGL-ді қолдану

1. 1 Құрылатын қосымшаның түрлері . . . …. . ………6

1. 2 Open GL кітапханасының негізгі құрылымы. . … . . . …. 6

1. 3 OpenGL-дің негізгі мүмкіндіктері. …. . ……. . 7

1. 4 OpenGl - кітапханасының құрылымы……. . . . . ……. 9

1. 5 OpenGL-ді іске қосу. . …12

1. 6 Екі өлшемді салулар. . ……. …. . 14

1. 7 Терендік буфері. . . . . ……19

1. 8 Delphідің алдынғы нұсқауларындағы ОpenGL……… . . . ……… . . . 23

1. 9 Delphi. NET жобаларындағы OpenGL. . ………. . …. . …31

2 ТАРАУ OPENGL-ДІҢ НЕГІЗГІ ҚАСИЕТТЕРІ

2. 1 Хабарлар, аударымдар, жағдайлар. . …. . …37

2. 2 Неліктен Delphi қосымшасында үлкен өлшем болады . . . … . . . … . . . 40

2. 3 Delphi- де VCL-сіз программалау . . . 41

2. 4 Open GL типтері (түрлері) . . . 43

2. 5 OpenGL-дің құралдарымен Delphі компоненттерін шығару……. . 48

2. 6 OpenGL-дің матрицалары. 52

Қорытынды. . 58

Пайдаланылған әдебиеттер. … . . . 59

КІРІСПЕ

Бағдарламалаушы қосымшаны жасауға кіріскенде, оның алдында: “өз компоненттерімді құрсам ба немесе басқа жасаушының компоненттерін қолдансам ба”, -деген сұрақ туындайды. Әрине бұл нақты жағдайға байланысты. Бірақ дайын шешімдерді қолдану басынан бастағаннан тиімдірек деп ойлау қате болады.

Сапалы бағдарламалық қамтамасыз ету қолданушылық және бадарламалық код деңгейінде жақсы ойластырылған интерфейсімен ерекшеленеді.

Әсіресе, бұл сұрақ визуалдау мен графиканың өнімділігі жоғары құрылғыларын қолдануды қажет ететін графикалық қолданушылық интерфейсті (GUI) ұйымдастыру кезінде туындайды.

Сапасы жоғары графика қосымшаның сыртқы көрінісі мен деңгейін (дәрежесін) айтарлықтай жақсартады, бірақ оны қолдану бағдараламалаушыдан ерекше білім мен тәжірибені талап етеді. Басқа жасаушылардың компоненттері өкінішке орай, көбінесе тек пайдасыз болып қана қоймай, олар негізделген алгоритмдер мен бастапқы принциптерді меңгеру мен түсіну қажеттілігіне байланысты жұмыстың орындауына үлкен кедергі жасайды, ал бұл жағдай коммерциялық (ақылы) жобаларды жасауға мүлде рұқсат етілмеген болып, күтпеген нәтижелерге алып келуі мүмкін. Кәсіби графикалық компоненттерді қолдану тек бағдарламалаушы жеткілікті білімге және осы компоненттерді құруда қарастырылатын сұрақтарды меңгерген болса ғана қолдануға болады.

Қарапайым қосымшаны жазған кезде көпшілігі тегін болса да қандай да бір ерекше талаптарды орындайды, мысалы код авторлығы туралы хабарламаны талап ететін үлкен көлемге ие және қолайсыз компоненттерді қолдану қажет емес.

Open GL компьютерлік графика саласындағы стандарттардың бірі болып саналады. Бүкіл әлемдегі қолданушылардың сенімін ақтаған қосымшалардың үлкен саны дәл осы бағдарламалық құрылғының көмегімен графикалық ақпартты шығаруды жүзеге асырады. Open GL кітапханасы қолдануды қарапайым және бір уақытта тиімді етіп жасалынған, сондықтан ол осы салада кейінірек шыққан бағдарламашылар мен бірге жаңа бағдарламалық қамтамассыз етуде қолданылады.

Open GL негізінде (әртүрлі) күрделілік деңгейі әртүрлі қосымшаларды құру компоненттернің саны өте көп. Бірақ, олардың басым бөлігі С, С#, Java, Visual Basic, Phiton сияқты бағдарламалау тілдерні қолданып жазылатындығын атап өту қажет. Delphi-де орындалатын Open GL-ге негізделген компоненттер саны, әсіресе, Delphi for Net-тің 8, 9, 2005, 2006, 2007, 2009 нұсқаларындағы жаңартылған пакеттерде өте аз болады.

Бұл жұмыста Open GL-дің графикасын қолданығысы келетін Delphi-ді қолданатын бастапқы бағдарламамен Интернет желісінде қысқа баяндалады. Желнің әртүрлі форумдарында берілген бадарламаушылардың Open GL-ді Net Freamwork-қа өткеннен кейінгі Delphi-дің жаңа ортасында құру туралы сұрақтарын жауап берушілер басқа өңдеушілердің сайттарына жібереді.

Сондықтан жұмыстың нақты мақсаты Delphi. Net жобаларында Open GL графикалық кітапханасының қолдану негіздерін түсіндіру болып табылады. Win32-нің ең аз бастапқы кодқа ие демонстрациялық (көрсету) қосымшалары толығымен қарастырылған.

OpenGL (Open Graphics Library) ашық графикалық стандарт, яғни ашық және жылдам жылжымалы стандарт деп айтсақ та болады. OpenGL стандарты негізінде жазылған бағдарламаларды барлық платформаларға (граф. комп., дербес, серверлер, үй, суперкомпьютер және т. б. ) қолдануға болады. Осы барлық жағдайда да, бірдей шешім шығады. OpenGL библиотекасы бағдарлама түзушіні көптеген әртүрлі компьютерлер үшін әртүрлі графикалық бағдарлама түзуден босатады. Компьютердің ішіндегі жабдық кез келген функцияны орындай алса, осы функция апаратты түрде (видеоадаптер VGA) орындалады болмаса OpenGL библиотекасы ол функцияны бағдарлы түрде орындай алады.

Ендеше OpenGL дегеніміз не? - деген сұраққа жауап берейік: Бағдарлама түзушінің тілімен айтатын болсақ, OpenGL ол - графикалық құрылғылар үшін (графикалық жылдамдатқыш-видеоадаптер) арналған бағдарлама. Ол интерфейстің ішіне бағдарлама жазушы үшін арналған шамада 150 командасы бар негіз кіреді. Қарапайым тілмен айтқанда, сол 150 команданың көмегімен программист үш өлшемді кеңістіктің ішінде түрлі обьектілерді белгілеп, олардын орналасу бұрышын градусын, түсін, текстурасын, материалын, бақылаушының орналасу нүктелерін белгілеп, және т. б. амалдарды жасай алады. Ал OpenGL библиотекасы осының барлығын экранға шығару жұмысын атқарып (рендеринг) жасап береді. Осымен OpenGL библиотекасы үш өлшемді объектілерді экранға шығару функциясын атқарады деп шешім шығардық.

OpenGL ішкі құрамы терең ойластырылған структурадан және қарапайым процедуралық интерфейстен құрылған. Оған қарамастан OpenGL - дің көмегімен, басқа графикалық библиотекалармен салыстырғанда, қиын және үлкен бағдарлама комплекстерін аз уақыт ішінде құруға болады.

1 ТАРАУ DELPHI FOR. NET ЖОБАЛАРЫНДА OPENGL-ДІ ҚОЛДАНУ

  1. Құрылатын қосымшаның түрлері

Delphi мен біреге (көптеген) қызіргі бағдарламалау тілдернің көпшілігінің жаңа Net Freamwork технологиясын қолдануы, бағдарламаның тәсілдерін қайта қарастыруға алып келеді.

Borland корпорациясы ұсынған VCL кітапханасы Delphiдің 8-ші нұсқасына дейін қолданып, өзін ақтамады. Жасаушылардың еңбектеріне қарамастан, бұл кітапхананың компоненттері қосымшаларды жасаудың стандарты бола алмады, сонымен қатар көптеген тәжірибелі сарапшылардың айтуынша, VCL коды кейбір белгісіздіктерден қаралған, әрине сонымен бірге NET Freamwork жүйесі өте тиімді болады. Осыған байланысты әртүрлі бөліктелген обьектілі бағытталған бағдарламалау тілдерін қолдайтын компаниялар Microsoft-тың кез-келген өңдеу пакетінен алдын-ала компиляциялаудан орындауға болады, бірегей жүйелі JL тілін құру туралы ұсыныс қабылдады. Borlandтың өкілдері көп рет айтқандай, VCL. NET кітапханасы ескі нұсқасы жобаларды NET жобаларын ауыстырудың қолайлы құралдары ретінде Delphiдің жаңа нұсқаларын жүзеге асырылды.

Өңдеудің жаңа ортасын меңгерумен бір уақытта орындалатын мұндай ауысу бағдарламашылардың біраз уақытын алуы мүмкін.

  1. Open GL кітапханасының негізгі құрылымы

Open GL-дің құрылымы қарастырайық.

Кітапхан C:\WINDOWS\SYSTEM32\Opengl32. dll жүйелі бумасында орналасқан және Microsoft Windows операциялық жүйесімен бірге жеткізілетін Opengl32. dll файылында орналасады. Бұл файлда қосымша жұмыс істеуі қажет болған Open GL-дің негізгі типтері, процедуралары мен функциялары сипатталады бұдан басқа жиынтықта C:\WINDOWS\SYSTEM32\gen32. dll файылында орналасқан Open GL Utility компоненті де болады. Бұл қолданбалы бағдарламаларды да қолданылатын Open GL-дің есептерін орындауға арналған утилиттер (функциялардың) жиынтығы. Бағдарламалаушыға C:\WINDOWS\SYSTEM32 жүйелі бумасының (папка, қалта) құрамын тексеріп, осы екі файылдардың бар екеніне көз жеткізу ұсынылады.

Open GL(байынша) -дің кейбір дереккөздерінен графиканы шығарудағы интерфейстің негізгі элементі болған тереземен және т. б-мен жұмыс жасауға арналған құралдар жиынтығынан тұратын GLNT кітапханасына берілген сілтемені табуға болады. Бірақ бұл стандартты компонент емес және оны Интернет желісі арқылы алуға болады.

Opengl32. dll мен gln32. dll файлдарында сіздің қосымшаңызбен (тұтынушы, клиент, қолданушы) Open GL жүйесі (сервер) арасындағы ақпарат алмасуға арналған функциялар сипатталады. Қосымша OpenGL жүесіне қандай графикалық ақпаратты құру және қай әдіспен құру туралы сәйкес командалар жинағын құрады, ал Opengl операциялық жүйе арқылы компьютердің аппараттық құрылғыларымен байланысады және қалыптасқан графикалық ақпаратты шығаруды жүзеге асырады. Кітапхананың ерекшелігі, онда компьютер платформасымен байланыс болмайды және нақты графикалық құрылғылар немесе олардың модельдерінің сипаттамасы болмайды. Кітапхана тек бағдарламалаушы өз жиынтығынан ғана құралады, сонымен қатар ол қосымша, операциялық жүйе және графиканы бейнелеудің шеткі құрылғысының арасындағы өзіндік “делдалдық” қызмет атқарады. Графикалық құрылғымен жақсы байланыс орнату үшін OpenGL-дің серверіне кем дегенде екі обьект-жанама құрылғыға сілтеме мен пикселдің форматы туралы мәлімет қажет болады. Device Context құрылғы контексті нақты жүйенің графикалық режимімен үзінділері туралы мәліметтерден құрылған құрылым болып табылады. Бұл құрылым стандартталғандықтан, ол арқылы графикалық ақпаратты салуға арналған құрылғыны көрсететін Rendering Context орындау контекстінің сілтемесін орнатуға болады, cілтемені орнатуға болады. Бұл контекст opengl-дің жұмыс жасауы үшін өте қажет болып табылады. Құрылғы контекстіне сілтеме НДС типті шама болады, ал, орындау контекстінің сілтемесі - HGLRC болады.

Келесі бөлімді жазудың маңызды бір себебі бар. Delphі, Net-ке өту. Бағдарламалаушыларға Windows Forms қосымшасын құруға мүмкіндік берді, бірақ Delphі-дің алдыңғы модульдеріне мыс: Windows. pas. модулін қосу мүмкіндігі жоғалды. Сондықтанда, біздің қосымшаның жұмысын ұйымдастыратын код блоктарын Delphі, Net арасындағы келісімді көп рет қолданып, өзіміз жаңадан жасауымыз қажет.

1. 3 OpenGL-дің негізгі мүмкіндіктері

Кейбір OpenGL бибилиотекаларының ішіне (мысалы X Windows) үш өлшемді кеңістігін бір ғана экранда шығара қоймай, ол үшін LAN байланысын қолданып, басқа да машиналарда шығару мүмкүндігі кіреді. OpenGL командасын беруші компьютер - «клиент» аталып, ал командаларды қабылдп, орындап, экранға шығаратын компьютер «сервер» аталады. Осы байланыстын негізінде бір-бірімен байланыста болған компьютерлерді қолданып, мықты бағдарлы серверлік комплекстерді құруға болады.

OpenGL-дің негізгі мүмкіндіктері төмендегідей:

  • Геометриялық және растрлық (түрлі-түсті) негіздер, осынын арқасында үш өлшемді объектілер құрылады. Библиотека қарапайым - нүктелер, кескендер, полигондарды шығару мүмкіндігін береді. Растрлық(түр-түс) - биттік өлшем, түр (дененін көрінісін) бреді.
  • В-сплайндарды қолдану - нүктелер арасынан қисық сызық сызу қабілеті
  • Түрдік және модельдік құрылымдар - олар арқылы кеңістікте үш өлшемді денелерді (модельдерді) орналастырып, оларды бұрып, жалжытып, формасын өзгерту қабілеті.
  • Түспен жұмыс - OpenGL библиотекасы бағдарламашыға RGBA (қызыл-жасыл-көк-альфа) түстерімен жұмыс ісей, палитрадағы барлық бояуларды қолдануды әзіреу қабілетін береді.
  • Көрінбейтін сызықтарды және денелерді жою қабілеті (Z-буферизация) .
  • Екілік буферизация - Денелерді экранға шығарған кезінде, экранның беті жалпылдамауы үшін қолданылады. Мұнда әр кадрдағы сызба, бірінші буфердің ішінде сызылып, кейіннен ғана экранға шығарылады. Сонда экран жалпылдамай, плавно көрсетеді.
  • Текстура құру. Объектіге шындық көрінісін береді. Мысады домалақ объектінің сртына сурет орналыстырылады (түрлі-түсті доптың суреті), сондағысы қарапайым қара кеңістіктегі шарымыз - түрлі түсті шарға айналады.
  • Туралау. Объектінің үстінде, жан-жағындағы қисық сызылған ойық немесе қырларды туралау қабілеті. Туралау - объектінің кескіннің шеттеріндегі пикселдерді (нүктелерін) жарықтығын азайтып немесе көбейтудін арқасында өзгертеді.
  • Жарық сәуле беру. Кеңістікте жарық көздерін орнату - жарық нүетесін жан жақты орналастыру, жарықтығын жоғарлату, пәсейту, түр-түсін өзгерту қабілеті.
  • Ауа райы құбылыстары. Тұман, түтін, т. б. ауа райы құбылыстарды еңгізу қабілеті.
  • Объектілерге айқындық қабілет беру.
  • Суреттердің тізбелерімен жұмыс.

Қосымша OpenGL библиотекаларды қолдану

Модельдеу үшін OpenGL библиотекасында барлық мүмкіндіктердің барлығына қарамастан, үш өлшемді сахналарды модельдеу кезіндегі кейбір функциялар жетпейді. Мысалы үш өлшемді еңістіктегі сахна камерасының орналасу нүктесін, бұрыш нүктесін, биіктігінің модельдік матрицасын құру кезінде өте қиын есептер қажт етіледі, сондағы осы есепту әркімнің қолынан келе бермейді. Осыған байланысты OpenGL үшін «жәрдемші» есебінде библиотекалар құрылған.

Солардын бірі GLU атты бибилиотека болып келеді. Осы библиотека стандартқа айналып, барлық бағдарламаларды OpenGL стандартты библиотекамен бірге келеді. Осы библиотеканың құрамын едәуір қиындау функциялар енгізілген. Осынын көмегімен цилиндірдің немесе дисктің денесін анықтау үшін тек бір ғана команда қолданылады. Және де осы библиотеканын құрамына сплайндармен жұмыс істеу мүмкіндігі енгізілген. Көмекші матрицамен, проекциялармен жұмыс істеу функциялары енгзіліп, толықтырылған. Кейінгі қарастырылатын библиотека - GLUT. Бұл да платформаға байланысты емес библиотеканың бірі болады, OpenGL-дің көмекші құралы болып келеді. Бұл библиотеканың мүмкіндіктерінін арқасында пернейтақта және тышқанмен жұмыс істеуге болады. Осы библиотеканың көмегімен конус, тетраэдр, және т. б. қиын фигураларды анқтап шығаруымызға болады. Бұл жерде GLAUX мынау GLUT мынаудан жаман деп жатыр ғой. өйткені GLAUX мынау тек Windows-пен ғана жұмыс істейді. GLUT ал мынау барлық платформалармен байланыста бола алады.

Қазіргі кезде көптеген библиотекалар шығарылып, қолданылып жатыр. Олар әртүрлі қиын іс әрекеттерді орындауға бейімделген, және OpenGL библиотекасына көмекші ретінде келеді. Мысалы GLX - X Windows үшін қолданылатын Windows OpenGL көмекші құралы болы келеді. Оның міндеті тек бір ғана компьютерде объектілерді шығармай, LAN (сетевое окружение) байланысы арқылы басқа компьютерлердің экрандарына шығаруы.

1. 4 OpenGl - кітапханасының құрылымы

Төменде көрсетілген 1. 4. 1-сурет Book3D - атымен сақталған Delphi проектісінде компьютерлік графика бағдарламасын OpenGl арқылы қолдану кітапханасы.

Book3D - бағдарламасы бірнеше құрылымдарардан тұрады.

  1. Book3D - редактор, программа коды орындалу барысында нәтижесін көрсетеді.
  2. Листинг программасы (код) - параметрлерді өзгеру барысында немесе нақты уақытта ағымдағы листингтің кодының мәні бірден өзгеретін және сол мезетте Book3D редакторында көрінетін командалар мен функцияларының орындалуын көрсетеді.

3. (Help) Листингте қолданылатын процедуралар мен командалар анықтамалығы.

4. Глоссарий - бұл жерде OpenGl командалары мен оның толық сипаттамасы жиналған. Барлық командалар алфавит бойынша реттелген. Командаларды мәні бойынша іріктеу үшін «Мәнді бойынша реттеу» шертсек болғаны, бұл керекті команданы немесе функцияларды табу үшін жасалған.

1. 4. 1 сурет. OpenGL кітапханасының командалардың қызметі мен түсіндірмесі.

OpenGL-ді үйрену - оқу бағдарламасы таңдалады.

Түсініктеме - бастамаларға өту (экранның сол жағында) .

Бағдарламалар коды - команда анықтамалығы (бірінші бөлім - мұнда таңдалған оқу бағдарламасының тексті толтырылады) .

Бағдарлама - бұл бөлім оқу бағдарламасын таңдағанда активті болады. Мұнда 5 ішкі пункт орналасқан.

  1. Программа кодын орындау - оқу бағдарламасында таңдалған ағымдағы код орындалады, осы ішкібөлімді таңдағанда “Басты терезе” бастамасына өтеді, бұл кезде “ OpenGL-ді үйрену ” бөлімі активтелмеген болады, “ПРограмманы тоқтату” ішкібөлімді орындағанда активтеледі.
  2. ПРограмманы тоқтату - бағдарлама орындалуы тоқтатылды. “OpenGL-ді үйрену ” бөлімінен келесі оқу бағдарламасын алуға болады.
  3. Бағдарлама кодын сақтау - бағдарлама кодын HTML немесе TXT фарматты файл түрінде сақтайды.
  4. бағдарлама кодын баспадан шығару - стандартты баспа диалогын шығарады және орнатылған принтерден баспаны шығарады.
  5. Book3D-редактор - > в файл - Book3D - редакторды JPG және BMP фарматты графикалық файыл түрінде сақтайды.

Жүктеу - әрқашан қолайлы 2 ішкі пунктен тұратын пункт мәзірі.

1. Соңғы программаны жүктеу - соңғы оқылған программаны жүктейді, ұмытқан жағдайда өте ыңғайлы.

2. Book3D+HTML программасын жүктеу -Book3D бағдарламасында Программа\Сақтау код программасы арқылы алдын ала сақталған программа жүктеледі. Файл типін сақтау кезінде міндетті түрде «Веб-страница» HTML форматта таңдалады.

Жөндеу - шрифт өлшемін өзгертуге, құжат түсін таңдауға болатын және де хинттарды қосу\өшіру мүмкіндігі бар диалогты терезе ашылады.

Программа туралы - Book3D бағдарламасының авторы туралы қысқаша мәлімет.

Интерфейсті сипаттау. Барлық интерфейс шартты түрде екі сплиттерге бөлінген (түсті кесінді программанның екі облысына бөлінген: программаны қосқанда ортаға шығатын тік сплиттер, (сол бөлігінде) ортадан сәл төменіректе шығатын көлденең сплиттер) . Сплиттерді ауыстырумен қалауымызша терезенін енін реттеуге болады.

Программанның сол жақ бөлігі үш белгіден тұрады:

Негізгі терезе - бұл программаның ең негізгі бөлімі, ол мыналардан құралады:

Book3D-редактор - программанның коды орындалуының жұмыс нәтижесін көрсетеді, ал оң жақ терезеде орналасқан Программа коды және Help қосымшаларында тексті көрсетілген.

1. 4. 2 сурет. OpenGl командаларын өзгерту панелі.

1. Көрсетілген тізім команда параметірлерін өзгертуге арналған қолайлы команда таңдалған, Ал жақша ішінде командаларға қысқаша түсінінік жазылған.

2. Цифр, текст кодында командалардың реттік номері көрсетілген.

3. Ауыстыру кнопкасы - 1-ші пункте таңдалған тексттік кодта бірдей командалар бойынша орналасқан.

4. Ағымдағы командалардың параметірлерін өзгерту - өзгеру Book3D-редактор терезесінде бірден көрінеді, бірақ программа коды өзгермейді, кодты өзгерту үшін «Программа кодында команда мәнін өзгерту» кнопкасын басу қажет.

5. Ағымдағы кез-келген командаға түсіндірмелерін өзгерту және қосуға болады.

Коментарий - (түсіндірме) бұл белгіде оқу программасында таңдалған кеңестер мен түсіндірмелерге нұсқау берілген.

Программа кодын салыстыру терезесі - бұл жерде барлық оқу программа текстін көруге болады және таңдалған программаның айырмашылығын табуға болады. Сонымен қатар программаны HTML, PAS және TXT форматта жүктеуге мумкіндік бар.

Программанның оң жақ бөлігі екі белгіден тұрады:

1. Программа коды және Help командаларға көмек - жоғарғы бөлігінде таңдалған оқу программасының коды көрсетілген. OpenGl командалары гиперссылка түрінде көрсетілген, гиперссылканы таңдау барысында төменгі бөлігінде ақпарат мәліметін шығарады. Төменгі және жоғарғы бөліктің арасында белгінің бөліктерінің көлемін өзгертуге болатын сплиттер орналасқан.

2. OpenGl-дің барлық командалары - бұл жерде OpenGl командаларының барлық оқу программаларын қолданылатын ақпарат мәліметтері бар.

1. 5 OpenGL-ді іске қосу

Оқиға, хабарлау, сілтеме. " Оқиға " ұғымы Delphi-ді қолданатын әрбір бағдарламашыға таныс. " Хабарлау " термині тікелей Delphi концепциясында қолданылмайды. Бұл өте жиі синонимдер операциялық жүйе терминімен бірдей, қосымшалармен (терезелермен) сигналдарды жіберу арқылы қатынасушысы.

Код, Delphi жобасында жазылған OnCreate оқиғалары өңдеуші сияқты, WM_GREAT хабарын алғанда орындалады, сондай-ақ WM_PAINT хабарлрына OnPaint оқиғасы сәйкес келеді және т. б.

Сондай оқиғалар - операциялық жүйелердің хабарлардың ұқсастығы, мнемониканы қолданады, хабарлаулардың мнемоникасымен ұқсас келеді, сондай-ақ хабарлау " WM _"( Windows Message ) префикстен басталады, ал ұқсас оқиға " On " префикстен басталады.

Барлық терезелердің өз құруында операциялық жүйеде тіркеледі және " терезеге сілтеме " деген бірегей идентификаторды алады. Мына мөлшер үлгісі Delphi-де - HWND ( Handle WiNDow ) . Терминнің синониміне " сілтеме " дескриптор болады.

Терезеге сілтемені тек қана операциялық жүйемен емес сонымен бірге терезенің идентификациясына арналған қосымшалармен қолданыла алады, олар амалдар шығару қажет.

Нақтылы түрде күрделі емес үлгіде терезеге сілтеме мысалын байқап көреміз.

Delphi ең аз қосымшасын құрастырып және жаңа жобаны бастаңыздар. Форманы Form2 деп атап, оған кнопка орнатамыз. Оқиға өңдеушісі OnClick кнопкасын басып келесі түрге келтіреміз. (1-Ех-01)

procedure TForm2. ButtonlClick(Sender: TObject) ;

var
H : HWND; // терезеге сілтеме
begin
H := FindWindow ('TForm1', 'Form1') ; // терезені іздейміз
If H <> 0 then ShowMessage ('Есть Form1!') // терезе табылды
else ShowMessage ('Нет Form1!') // терезе табылмады
end;

Енді кнопканы басқанда хабарлау береді, терезесі тобы ашық па, 'Form 1' тақырыбының бар болуы, операциялық жүйеде 'TForml 1' қалай тіркелгенді. Егер біздің екі бағдарламаларымыз бір уақытта жіберілсе, онда кнопканы басқанда бір хабарлау берілген болады, ал егер терезе 'Form 1' тақырыбымен жабық болса, онда ол басқа. Біз ол жағдайда FindWindow функциясын қолданамыз, табылған терезеге сілтеме - HWND типі қайтарушы мөлшерін, егер сондай терезе табылмаған жағдайда нөл жазамыз. Функциялар аргументі - терезенің тобы немесе оның тақырыбы. Егер ізделіп отырған терезе тақырыбысы қажетсіз болса, екінші аргументке nill беру керек.

Сонымен, терезеге сілтеме бір мағынада терезені анықтайды. Handle түрінің қасиеті - бұл сілтеме, ал дәлдікте THandle типі HWND типіне сәйкес келеді, сондықтан алдындағы үлгіде Н өзгергішті Thandle типінің өзгергіші сияқты суреттеп айтуға болады.

Терезе фокус болмай жасай алады, хабарлаулар алу және оларды әрекеттендіру. Нақтылы үлгіде мысал келтіреміз.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Графикалық объектілердің жарықты өткізу қабілетін басқару
Дескрипторлық графиканың объектілері
Растрлік графика форматтары
Opengl архитектурасы. Компьютерлік графика
Android ОЖ қосымшаны құрастыру технологиясын қарастыру
Астрофизикалық құбылыстарды моделдеу үшін cuda қолдану
«Қазақ тілі бойынша онлайн тестілеудің мобильді қосымшасын құру»
Қоңырау кестесі бойынша автоматты түрде қоңырау соғуға арналған Автоматтандырылған Қоңырау бағдарламасы
Ақпараттық жүйелердің түрлері
Android Studio ортасында Мобильді қосымшаларды әзірлеу
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz